Welcome

Welcome to

Interface 8's internal guide

Version 9.6.10

November 26, 2015

© Oracle Deutschland B.V. & Co KG 2001-2015


Disclaimer

This document has been prepared by ORACLE and is available to a select group of individuals for information purposes. This is a confidential document that contains concepts, methods and other proprietary information. Readers are to treat the information herein as confidential.

Information in this document is subject to change without notice.

ORACLE 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.

ORACLE 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.

This application is intended to be used to establish a connection between a certain Oracle product and certain 3rd party products not developed by or controlled by Oracle (Non-Oracle Products). These Non-Oracle Products may or may not be compliant with the Payment Card Industry Payment Application Data Security Standard (PA-DSS). Oracle strongly recommends that all merchants who are connecting any Oracle payment processing products to any Non-Oracle Products ensure that both the Oracle and Non-Oracle products are PA-DSS compliant.

Oracle Technology programs procured from MICROS are subject to a restricted use license and can only be used in conjunction with this application.

Copyright © 2001-2015 ORACLE. 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.

Author:

ORACLE - Suite8 Development Team

Printed in Germany

ORACLE Deutschland B.V. & Co. KG | Europadamm 2-6 | 41460 Neuss

ORACLE Deutschland B.V. & Co. KG

Hauptverwaltung: Riesstr. 25, D-80992 München

Registergericht: Amtsgericht München, HRA 95603

Komplementärin: ORACLE Deutschland Verwaltung B.V.

Hertogswetering 163/167, 3543 AS Utrecht, Niederlande

Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697

Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher


Concepts of IFC8

Technology:

  • Transparent communication between IFC and FO using XML technology.

  • Consequent usage of XML-Schema technology for data description.

  • Use of XML-technologies for data description AND data exchange.

  • Enhanced simulation and testing utilities, now many PMS and vendor systems can be simulated with most of the available features.

  • Usage of MSMQ technology for synchronous and asynchronous communications.

Functionality:

  • FO-IFC interface without direct database access.

  • Use of component technologies.

  • Extended features, especially for EFT and Hotel/Courtesy card functions.

  • Compatibility to Front Office Versions 6 and 7 via IFC7.

  • Direct communication between PMS and IFC workstations using MSMQ, thus providing new possibilities to connect to workstation dependent systems, e.g. EFT-terminals.


What is XML ?

XML in 10 points

(7, really...)

XML, XLink, Namespace, DTD, Schema, CSS, XHTML,... If you are new to XML, it may be hard to know where to begin. This summary in 10 points attempts to capture enough of the basic concepts to enable a beginner to see the forest through the trees. And if you are giving a presentation on XML, why not start with these 10 points? They are hereby offered for your use.

1. XML is a method for putting structured data in a text file

For "structured data" think of such things as spreadsheets, address books, configuration parameters, financial transactions, technical drawings, etc. Programs that produce such data often also store it on disk, for which they can use either a binary format or a text format. The latter allows you, if necessary, to look at the data without the program that produced it. XML is a set of rules, guidelines, conventions, whatever you want to call them, for designing text formats for such data, in a way that produces files that are easy to generate and read (by a computer), that are unambiguous, and that avoid common pitfalls, such as lack of extensibility, lack of support for internationalization/localization, and platform-dependency.

2. XML looks a bit like HTML but isn't HTML

Like HTML, XML makes use of tags (words bracketed by '<' and '>') and attributes (of the form name="value"), but while HTML specifies what each tag & attribute means (and often how the text between them will look in a browser), XML uses the tags only to delimit pieces of data, and leaves the interpretation of the data completely to the application that reads it. In other words, if you see "<p>" in an XML file, don't assume it is a paragraph. Depending on the context, it may be a price, a parameter, a person, a p... (b.t.w., who says it has to be a word with a "p"?)

3. XML is text, but isn't meant to be read

XML files are text files, as I said above, but even less than HTML are they meant to be read by humans. They are text files, because that allows experts (such as programmers) to more easily debug applications, and in emergencies, they can use a simple text editor to fix a broken XML file. But the rules for XML files are much stricter than for HTML. A forgotten tag, or a an attribute without quotes makes the file unusable, while in HTML such practice is often explicitly allowed, or at least tolerated. It is written in the official XML specification: applications are not allowed to try to second-guess the creator of a broken XML file; if the file is broken, an application has to stop right there and issue an error.

4. XML is a family of technologies

There is XML 1.0, the specification that defines what "tags" and "attributes" are, but around XML 1.0, there is a growing set of optional modules that provide sets of tags & attributes, or guidelines for specific tasks. There is, e.g., Xlink which describes a standard way to add hyperlinks to an XML file. XPointer & XFragments (also still being developed) are syntaxes for pointing to parts of an XML document. (An Xpointer is a bit like a URL, but instead of pointing to documents on the Web, it points to pieces of data inside an XML file.) CSS, the style sheet language, is applicable to XML as it is to HTML. XSL (autumn 1999) is the advanced language for expressing style sheets. It is based on XSLT, a transformation language that is often useful outside XSL as well, for rearranging, adding or deleting tags & attributes. The DOM is a standard set of function calls for manipulating XML (and HTML) files from a programming language. XML Namespaces is a specification that describes how you can associate a URL with every single tag and attribute in an XML document. What that URL is used for is up to the application that reads the URL, though. (RDF, W3C's standard for metadata, uses it to link every piece of metadata to a file defining the type of that data.) XML Schemas 1 and 2 help developers to precisely define their own XML-based formats. There are several more modules and tools available or under development. Keep an eye on W3C's technical reports page.

5. XML is verbose, but that is not a problem

Since XML is a text format, and it uses tags to delimit the data, XML files are nearly always larger than comparable binary formats. That was a conscious decision by the XML developers. The advantages of a text format are evident (see 3 above), and the disadvantages can usually be compensated at a different level. Disk space isn't as expensive anymore as it used to be, and programs like zip and gzip can compress files very well and very fast. Those programs are available for nearly all platforms (and are usually free). In addition, communication protocols such as modem protocols and HTTP/1.1 (the core protocol of the Web) can compress data on the fly, thus saving bandwith as effectively as a binary format.

6. XML is new, but not that new

Development of XML started in 1996 and it is a W3C standard since February 1998, which may make you suspect that this is rather immature technology. But in fact the technology isn't very new. Before XML there was SGML, developed in the early '80s, an ISO standard since 1986, and widely used for large documentation projects. And of course HTML, whose development started in 1990. The designers of XML simply took the best parts of SGML, guided by the experience with HTML, and produced something that is no less powerful than SGML, but vastly more regular and simpler to use. Some evolutions, however, are hard to distinguish from revolutions... And it must be said that while SGML is mostly used for technical documentation and much less for other kinds of data, with XML it is exactly the opposite.

7, 8, 9...

These I don't know yet.

10. XML is license-free, platform-independent and well-supported

By choosing XML as the basis for some project, you buy into a large and growing community of tools (one of which may already do what you need!) and engineers experienced in the technology. Opting for XML is a bit like choosing SQL for databases: you still have to build your own database and your own programs/procedures that manipulate it, but there are many tools available and many people that can help you. And since XML, as a W3C technology, is license-free, you can build your own software around it without paying anybody anything. The large and growing support means that you are also not tied to a single vendor. XML isn't always the best solution, but it is always worth considering.


Why using XML ?

Why use XML ?

Introduction

Due to the ever increasing complexity of vendor systems and data exchange, an ever increasing amount of data has to be captured to support it.

The traditional ‘Fixed’ file format employed by many vendors has worked well for many years however, it is restrictive in that each data element is limited to a maximum number of characters imposed by the initial design and any new elements can not be added easily.

It may also be regarded as slightly inefficient as fields that are not required or not populated, have to be presented either padded with spaces or zeros, which regularly leads to problems.

The introduction of IFC8 provides the perfect opportunity to develop a new format for communication, one that can be flexible and future-proofed. It has therefor been decided that the best medium for IFC8 will be Extensible Markup Language otherwise known as ‘XML’.

Benefits of XML

  • There will be virtually no limit on field sizes (limitation now moves to database field design)

  • Empty and not-required fields may simply be left out of message.

  • Fields may be sent in any order.

  • Fields can easily be grouped.

  • Rather than having to count along the line to find where a field starts, there will be a meaningful Field Identifier, denoting where it starts and ends.

  • New fields may be added at any time, even to the middle of the file.

  • XML is an industry standard format so should be much easier for new vendors to develop to.

XML Basics

Unlike a ‘flat’ file, which has fields in fixed positions and with set lengths, the XML format allows flexibility as each field has a field identifier (e.g. Date) and then holds the data in quotation marks (e.g. "020617"). This, in theory, allows the data held in between to be as long as required.

<LinkStart Date="020617" Time="155744"/>

However, to denote the end of a message a forward slash ‘/’ is used.

XML allows certain fields to be omitted if they contain no data and if they are not marked as mandatory.

There are certain values that can not be used within data strings as they are XML control characters, such as ‘&’ and ‘<’ .


What is MSMQ ?

MSMQ Overview:

Microsoft® Message Queue Server (MSMQ) makes it easy for application developers to communicate with application programs quickly, reliably, and asynchronously by sending and receiving messages. Here's why that's a good thing: If you have an application that needs to stay up all the time, like a retail point of sale system, what happens when your database goes down in the middle of the day? The likely answer is that your sales people need to start taking orders manually. Wouldn't it be better if those orders were sent to a queue to be processed when the database came back up?

That's what MSMQ will do for you.

Synchronous vs. Asynchronous Communication:

Communications are synchronous when the sender of a request must wait for a response from the receiver of the request before performing other tasks. The time that the sender must wait is completely dependent on the time it takes for the receiver to process the request and return a response.

With asynchronous communications—available through MSMQ—senders make requests to receivers and can then move on to other tasks immediately. If a response is expected back from the receiver, it is up to the original sender to decide when it will actually look for and process the response. Most important, there is no need for a guarantee that receivers will process requests within any particular period of time. In fact, with asynchronous communications, there are no requirements that receivers even be running in order for a sender to initiate a request.

How can this be applied to the Fidelio Interface ?

MSMQ is used to replace the IFC_ACT.DBF concept from Fidelio V6 and V7. Commands are not written to a database table any more, but to a queue. Each front desk workstation and the interface PC will have these queues installed, one for outgoing and one for incoming commands.

The dataflow is very simple:

Most notable new feature is, that with V8 all workstation communicate independently with IFC8 directly. A message is written to the “Out-queue” on the FO-Workstation. MSMQ takes care of sending the message to the “In-queue” on the IFC-PC. IFC8 will then pick up the message from this queue.

Microsoft guarantees that all messages transferred via MSMQ will reach the destination and are only sent once.

What do synchronous & asynchronous mean?

Messages can be sent in both modes, synchronous and asynchronous.

Any message requires an acknowledge from the target queue similar to RS232 communication.

Now messages can be divided up into two kinds: Messages that need immediate attention (e.g. a credit card authorization) or messages, which may be executed at a later point in time (e.g. a Check-In message to a Pay-TV system).

IFC8 or FO8 will send all messages with a time-out attached. Synchronous messages will for example have a timeout of 5 seconds. This means if the message could not be delivered within 5 seconds, or if the message was delivered to the target queue but not picked up, as the IFC program is not running, MSMQ will delete the message and return an error to the application which sent the message.

For asynchronous messages the timeout will be “endless”. The message will be sent to the “out-queue” of the FO-workstation and will then be delivered at any time when the IFC-PC is available. Once the message has reached the IFC it will stay in the “in-queue” until IFC picks it up.

This concept opens new possibilities:

The interface can now return messages to a FO-workstation and find the workstation, where the command originated. This could for example be used to return error-information from key systems. In another scenario unsuccessful wakeup results can be routed to one specific workstation to alert the user with a pop-up.


MDI ? IFC-Objects ? PMS-Objects ?

MDI ? IFC-Object(s) ? PMS-Object(s)

IFC8 has a clear object oriented structure:

The MDI (Multiple Document Interface) form is handling the actual interface objects, where IFC8 has a minimum of two objects:

One PMS-object, which communicates to the PMS side of the Interface and an IFC-objects, which communicates to the vendor side.

Should the IFC for example be used to connect to a POS system with multiple workstation connections, would one configure the same amount of IFC-objects in IFC8.

In simple words: Each IFC-object would communicate on it's own dedicated IP-Port to the vendor, but on the other side all IFC objects would talk to the PMS-object, which connects to Fidelio8 (or IFC7 with Fidelio V6/V7).


Installing the XML-Parser

All IFC8 internal communication is based on XML.

In order to support this you need to install the Microsoft-XML-Parser on the Interface PC.

Current version used is: XML 3, Service Pack 2. (Since W2K-SP3 and WinXP-SP1 this is included to the OS, no need to download the setup.exe)

The Setup.exe is located on the Micros-FTP server under:

FTP.MICROS.COM/FIDELIO/ARCHIVE/IFC/V6_V7/Utilities/MS XML3 - Parser/msxml3sp2Setup.exe

When you have downloaded the file, just run the executable.

Note: you must have administrative rights to install the XML-Parser.

NOTE:

IfcBusi.Dll (running on all PMS-Workstations) is a part of Interface 8 so the XML-Parser & Hotfix has to be installed on EACH and EVERY machine running Suite8 !!


Installing MSMQ service

IFC8 supports message queuing, however it is recommended to use TCP/IP soocket communication between IfcBusi.Dll and IFC8.Exe.

If you use TCP, you do not need to install the MSMQ service on any PC.

MSMQ (Microsoft Message Queue) is the media, which Ifc8.Exe and IfcBusi.DLL use to communicate to each other.

Make sure, that this service is installed in "Workgroup Mode" (or as well called : "Independent Mode") on each and every machine running Suite8 or Ifc8.Exe.


Base requirements

To install IFC8 on Suite8 the following needs to be installed on the IFC-PC first:

  • Oracle Client (same version as on the server), installed 'Administrator-default' (not custom)

  • Fidelio Suite 8 -> Fidelio needs to be fully functional on the IFC-PC before IFC8 can be installed/run on the PC

  • If ComEx should be used as communication layer, ensure that .NET Framework 2.0 has been installed on the IFC-PC

  • Ifc8.9.6.10 onwards .NET Framework 4.0 must be installed on the IFC PC - also on the PMS workstations (November 2015)


Hardware Requirements

IFC8 is a windows based 32-bit program written in Visual Basic 6 using ActiveX components.

The platforms supported by IFC8 are:

Windows VISTA SP2 - released

Windows 7 SP1 - released

Windows 8.1 - released to the regions for their testing and release (Windows 8.0 has not been tested) Please contact your regional Interface Product manager to see if Windows 8 has been released for your region/country.

Server Operating Systems will not be specifically tested by development, as IFC8 is designed to run on a separate dedicated PC running a workstation-OS. lease contact your regional Interface Product manager to see if a Server OS has been released for your region/country. (However as since Server 2008 the kernel from client OS and Server OS are the same, it is most likely that no problems should be found when running IFC8 on a server OS.)

Platforms NOT supported by IFC8:

Win95/98/ME, WinNT, "WindowsXP home-edition", "Windows VISTA home editions", "Windows7 home editions", "Windows8 basic/Core editions" are NOT supported.

Windows 2000 - Microsoft stopped the support for Windows 2000 in July 2010. Subsequently IFC8 is not supported on Windows 2000 anymore as of July 2010. Existing implementations need to be updated to a Microsoft-supported operation system. PA-DSS certifications of Suite8 and OPERA can be voided if any part of the system is installed on an operating system which is not supported by Microsoft any more!!

Windows XP - Microsoft stopped the support for Windows XP in April 2014. Subsequently IFC8 is not supported on Windows XP anymore as of April 2014. Existing implementations need to be updated to a Microsoft-supported operation system. PA-DSS certifications of Suite8 and OPERA can be voided if any part of the system is installed on an operating system which is not supported by Microsoft any more!!

Hardware Specification:

Windows VISTA SP2 & Windows 7 SP1 (32-bit & 64-bit):

Processor type: >= Pentium Core 2 Duo (2 GHz)

RAM: Minimum: 3 GB (3-4 GB recommended, see calculation below)

Harddisk: 250 GB + (without drive-partitioning)

Floppy drive: N/A

CD/DVD-Rom: standard

Monitor: Colour / VGA compatible (1024x768 minimum resolution)

Keyboard: standard

Network card: yes (10/100/1000)

Serial ports: depending on how many interfaces should be installed

Windows 8.1 (64-bit):

Processor type: >= Pentium Core 2 (2.8 GHz)

RAM: Minimum: 3 GB (4-6 GB recommended, see calculation below)

Harddisk: 500 GB + (without drive-partitioning)

Floppy drive: N/A

CD/DVD-Rom: standard

Monitor: Colour / VGA compatible (1024x768 minimum resolution)

Keyboard: standard

Network card: yes (10/100/1000)

Serial ports: depending on how many interfaces should be installed

The IFC PC may need more memory in larger installations.

A rule of thumb for Windows VISTA & Windows 7 and Windows 8 is:

Minimum 2 GB for the OS (with Antivirus software etc, Vista/Win/WIN87 have been seen to use more then 1,5 GB RAM in idle state) plus 65 MB per installed IFC; add 25 MB per additional PMS-Object in case of Multi-Property setup.

If on OPERA add an extra 100 MB RAM for the IFC-Controller

A rule of thumb for Windows 8.1 is:

Minimum 3 GB for the OS (with Antivirus software etc, WIN8 has been seen to use more then 1.5 GB RAM in idle state) plus 100 MB per installed IFC; add 50 MB per additional PMS-Object in case of Multi-Property setup.

(Note : The Oracle client 12c requests a minimum of 2 GB RAM installed. Subsequently a minimum of 3 GB RAM need to be placed into the machine, to bypass this prerequisite check during the Oracle client installation. )

If on OPERA add an extra 200 MB RAM for the IFC-Controller

Operating Systems supported by Microsoft:

Operating System | Status
Windows 95 | NOT supported (ended 31 December 2001)
Windows 98 | NOT supported (ended 11 July 2006)
Windows ME | NOT supported (ended 11 July 2006)
Windows NT | NOT supported (ended 30 June 2004)
Windows 2000 | NOT supported (ended 13 July 2010)
Windows XP >= SP3 | NOT supported (ended 8 April 2014)
Windows Vista >= SP2 | Supported (ends 11 April 2017)
Windows 7 >= Sp1 | Supported (ends 14 January 2020)
Windows 8.1 | Supported (ends 10 January 2023)

The listed dates are as per Microsoft from today (8 April 2014). Microsoft may decide to change these dates in the future, which is out of our control.

Following is a list of the server operating systems as they are supported by Microsoft for your convenience.(Remember: IFC8 is designed to run on a client OS and not on a server OS).

Operating System | Status
Windows 2000 Server | NOT supported (ended 13 July 2010)
Windows 2003 Server | Supported (ends 14 July 2015)
Windows 2008 Server | Supported (ends 14 January 2020)
Windows 2012 Server | Supported (ends 10 January 2023)


The IFC8Config.Xml

IFC8.Exe will always need an XML-file as reference to start. This file can be understood as INI or configuration file. To start IFC8.Exe you don't need to give a specific reference. IFC8 will always first look for Ifc8Config.Xml in the working-directory or path, where the Exe is located.

If you want to rename the XML-file, then you need to add the path and filename as parameter when calling IFC8.Exe. (e.g. "....\IFC8.Exe Ifc8M87.Xml")

An example of Ifc8Config.Xml for FIAS, as of IFC8 version 8.2.x.x

For RS232 connections:

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" CheckState="Y" Port="1" Param="9600,N,8,1" />
<PROT Layer2="LLC_FDX" CheckSum="LRC" RecMaxLength="64000" RecBuffTimeOut="2000">
<LLC_FDX LLC_ACKTimeOut="3000" LLC_ACKValidity="2000" />
</PROT>
<PARSE Simulation="N" FktLogo="FIAS" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<Language Lang_Default="0" Lang_EA="1" Lang_FR="2" Lang_GE="3" Lang_IT="4" Lang_JA="5" Lang_SP="6" />
<VIP VIP_Default="1" VIP_1="3" VIP_2="4" VIP_3="5" />
<FIAS EFT_RequestTimeout="80%" BillViewMultiply="100" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>

For TCP/IP connections:

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM Layer1="TCP/S" CheckState="Y" Port="5001" Param="local" />
<PROT Layer2="N" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="2000" ReInit_On_ExpEnq="N">
<LLC_FDX LLC_ACKTimeOut="3000" LLC_ACKValidity="2000" />
</PROT>
<PARSE Simulation="N" FktLogo="FIAS" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<Language Lang_Default="0" Lang_EA="1" Lang_FR="2" Lang_GE="3" Lang_IT="4" Lang_JA="5" Lang_SP="6" />
<VIP VIP_Default="1" VIP_1="3" VIP_2="4" VIP_3="5" />
<FIAS EFT_RequestTimeout="30" BillViewMultiply="100" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5502" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>

A sample Config.Xml for IFC8 versions <=1.x.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="Y"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="XML"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="N"

Layer2="N"

MonShowState="Y"

DefaultRecMaxLength="64000"

CheckState="Y"

RecBuffTimeOut="500"

RefNum="20"

EFT_RequestTimeOut="80%"

WSNum1="PMS1"

WSNumX="PMS1"

XmlDecl="N"

InLineSchema="N">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

MsqTcpPort="5600"

MsqTcpDns="Y"

IfcNum="1"

FktLogo="SERV"

Layer1="DBS"

Port="GlobalDbsConnect"

DbsDebugMode="N"

Param="0"

CheckSum="N"

Layer2="N"

XmlPackEmptyAttr="N"

MonShowState="Y"

RecMaxLength="64000"

CheckState="Y"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="Live"

User="V8Live"

Alias="V8"/>

<SimAttrDef

DefRef0="Siemens"

AudittrialNum="98765"

AnswerStat="OK"

AuthNum="12345"

BalanceAmount="10000"

CardType="VA"

CardUsage="3"

CheckNum="12345678"

ClearText="TestBuchung"

CreditcardNum="455512345678"

Covers="2"

Date="(Date)"

ExpyDate="0112"

GuestNum="99"

GuestArrival="(Date)"

GuestDeparture="(Date)"

GuestGroupNum="9876543"

GuestLanguage="GE"

GuestName="Test"

GuestShareflag="N"

GuestTitle="Prof."

GuestVip="V"

MaximumGuestsNum="6"

PostInformation="101"

PostType="C"

SequenceNum="999"

RoomNum="101"

Subtotal1="800"

SwapFlag=""

SeminarChannel="11"

SalesOutlet="1"

ServingTime="4"

Tax1="200"

Time="(Time)"

TotalAmount="1000"

TransNum="12345"

Track2="6725100016140646911=00121010321290000"

Track3="015910050000=16140646919=2809540100000007274013010000020000000129253981123==1=02010000000050000000000000"

Tvright="TU"

VideoRight="VA"

WSNum="1">

</SimAttrDef>

</GENERAL>

</IFC8>

The Config.Xml is parted in three main elements:

<General>, <IFC1> and <PMS1>.

In these elements all general functionality can be configured.

  1. <General>

Under General all global features can be set. these are:

<SimAttrDef>

All attributes in this element are used in simulation mode. IFC will dynamically fill all

return records with data from the incoming records. All other fields will be filled with

the values from this element.

<GlobalDbsConnect0>

This element carries the necessary login information for the Oracle database

connection.

  2. <IFC1>

Under IFC1 all features for the (first) Interface object can be configured.

It needs to be understood, that all driver specific configuration will never be read from the

database. Only the PMS-object may read any tables.

Base features of the IFC object, which are in the Config-XML are communication

parameters, FKT-Logo and Logfile configuration.

Vendor specific FKT-Logos will for example include configuration possibilities for e.g.

different protocol layout supported (different vendor versions); basically all settings which

used to be in the range of IFC_CTRL->FEATURES Pos. 31-35 from the IFC7 setup.

All supported Interfaces will have it's own section under "INTERFACES" and in each of

the sections will the specific Config.Xml be described..

Following is a table describing the parameters, which will be the same for all FKT-Logos:

Attribut

Possible values

Comments

ConfAllowed

Y/N

When this value is set to "N", then all setup options on the Interface Screen will be greyed out.

Simulation

Y/N

Enables or disables the simulation functionalities of IFC8.

MonDetail

0/1/2/3/4

Defines to which level events and messages will be placed on the interface screen during runtime (4 = highest level, only recommended for troubleshooting, as this will confuse the Hotel user a lot.)

This enables/disables the logfile writing routine too. "0" = No log is written. Any other value enables the logfile.

MonType

CHR/HEX/TAB

Defines the mode in which messages will be shown in the monitor.

CHR = CharacterMode

HEX = HexDumpMode

TAB = TableMode

LogLength

Min: 1000

Max: 6500000

Defines the maximum length of the Interface log file. When this length is reached will the interface drop records from the beginning of the log, when appending to the end.

Required

Y/N

Only used in Multi-Object scenarios. The interface will not start connecting to the PMS side, until all IFC-objects, which are marked as required have started and are properly connected to the vendor system.

FktLogo

<FktLogo>

Function-Logo, as with IFC7.

Note: length is not limited any more, so the various FktLogos may be of different length. License check will be done from the PMS object.

This attribute defines the actual protocol used.

Layer1

TCP/S; TCP/C; COM; MSMQ

Defines the transport layer used for communication

Port

<5001>; 1 etc

In a TCP scenario this attribute carries the port-ID on which the IFC is listening (or which the IP tries to reach on the remote system). When communication goes viw RS232, then this attribute carries the Comm-Port number (e.g. 1)

Param

10.100.100.1 / LOCAL

or

9600,N,8,1

TCP: IP address or computername of the vendor's system. "LOCAL" can be set, when the connecting system is running on the Interface PC.

RS232: serial communication parameters:

Baudrate,Parity,DataBits,StopBits

separated by "comma".

CheckSum

LRC/CRCT/CRCB/N

Checksum calculation method.

Note: Setting this parameter to "N" will cause the interface to NOT send a checksum, but as well to not expect one. Receiving a checksum with "N" will cause an error.

Layer2

N = No protocol layer (e.g. used with FID via TCP)

STD = Standard (Ack/Nack/ENQ)

M87V24 = Micros via serial

M87TCP = Micros via TCP

ISO = (Iso standard (with DLE etc)

LLC_RC2 = Remanco Vision layer

etc ... etc ... etc

This parameter defines the protocol-level layer of a protocol. STD will be the most used one (STD is actually ISO with a few amandments.) The correct settings of this parameter are documented in each drivers section under "INTERFACES".

Here are just some examples to show the possible variety.

(These were hardcoded in IFC7.)

DefaultRecMaxLength

64000 (=default)

Maximum record length. Normally no change to this value is necessary.

CheckState

Y/N

Enables checking of the availability of the physical transmission layer (Com-Port, IP-Port)

RecBuffTimeOut

500

Maximum time to get the next databyte, when a record is received. (In Milli-seconds)

RefNum

20 (=default)

Ref-Numbers. Can be understood as maximum number of actions the interface can do at the same time. Will be dynamically increased during runtime, if necessary.

WSNum<COMPUTERNAME>

<Computername> / X

This value is used to route records from one object to the other. Logic is very simple: IFC8 reads the WSNum (=Computername) from an incomming record and then ujses the WSNum entries in the Config.Xml to find out to which PMS object to send the record. Default value is X (e.g. WSNumX=PMS1)

InLineSchema

N

(Y only simulation mode.)

Defines in simulation mode, that not the hardcoded, but manually created schemas from the IFC-object should be used. (See SIM-driver documentation.)

DbsDebugMode

Y/N

Enables Debug Mode for the V8-DLLs, which IFC uses. (i.e. FidelioPosting.Dll will then write a logfile.)

XmlDecl

N

(Y = not yet implemented)

Write the XML-DeclarationElement Y/N

(Will ad a version attribute later: <?xml version="1.0"?>" )

MonCharSet

Only set this, when you have problems with the appearance of the IFC (has happened on WinNT.)

"0" = ANSI character set

"255" = ASCII character set

No other value is possible.

Generally this attribute should NOT be set at all, as this is handled by the parser flexibly.

XmlPackEmptyAttr

"Y" = default, all empty attributes will be packed.

"N" = empty attributes will be passed on and will be processed. (e.g. an empty GF for FIAS would then be sent.)

Only with FKT="SERV", "XML" and "FIAS-Clones"

If this attribute is used it must be added to both the IFC and PMS object with the same setting each.

EFT_RequestTimeOut

EFt Timeout

- relative timeout handling e.g. EFT_RequestTimeOut="80%" in percent of FoEftTimeOut (received via LinkPmsConf record)

- absolute timeout handling e.g. EFT_RequestTimeOut="40" in seconds

  3. <PMS1>

Attributes of the PMS-object are basically the same as for the IFC object.

When connecting to Suite8 will the

Layer1 has another config choice: "DBS" (for "Database-Access).

  4. Optional Attributes

MonCharSet="0" or MonCharSet"255".

This parameter may be added to the IFC object should you want to hard code the character set used to display the record. "255" = Termianl Font, "0" = Windows Standard Font. Usually you don't need to add this attribute to the IFC-Object as a default is added to each driver depending on the protocol used.


Autostart

IFC8 can be added to the autostart of Win2000 or WinXP.

When using Auto-Log-On the IFCs will then automatically start, when the PC is rebooted. (Starting IFC8 as a service is currently not planned.)

Adding the following line to the login-batch will lock the workstation again:

%windir%\system32\rundll32.exe user32.dll, LockWorkStation

To give the IFC some time to start, you should add a timeout between login and locking of the workstation:

To do this you may use "TIMEOUT.EXE", which is available on our FTP-Server ( ftp.fcruise.com/IFC8/Utility/Tools/Timeout.zip) and add the following to the login-batch:

timeout 180


Starting IFC8 with an existing Ifc8Config.Xml

In version 8.2.0.0 we introduced a lot of automatic fixes to IFC8 to avoid lost time for troubleshooting during installations.

When starting IFC8.2 you may receive errors like the following one:

Abort: IFC8 will stop and no changes will be applied

Retry: IFC8 will fix the error as displayed in this box and will stop on the next error

Ignore: IFC8 will fix this error and all further errors it finds in this Ifc8Config.Xml

It is recommended to press 'ignore' to have IFC8 fix all errors in the Ifc8Config.Xml. Please make sure you save the changes later on through IFC8.. IFC8 will not update the file automatically !!!

If the Oracle-connection information is incorrect you will receive the following error:

Press Ignore and IFC will start without database connection. The correct credential may be added later through IFC8.

IFC8 will start in configuration mode now automatically so that you can change the oracle credentials accordingly:

Once you added the correct credentials press Apply and then Save:

The first screen in the configuration screens displays the general properties per object (IFC or PMS). Items in here may be modified, deleted or copied:

Monitor Properties allow you to change monitor and logfile settings. All items have been equipped with tool-tips, you hold the mouse on top of an item where you want to know details:

Application Layer will allow you to change all driver specific settings, please check the tooltips for the respective meanings of the attributes:

Protocol Layer carries information about the lowlevel behavior of the respective driver. Generally there should not be a parameter in this section, which would need to be changed.

In Physical Layer you can modify the communication parameters (TCP/RS232 etc):

The PMS1 node contains the same subnodes as the IFC1-node, please refer to the above documentation:

General Properties contain configuration attributes which are valid for the complete IFC and are not related to an IFC or PMS object.


Database Configuration through IFC8

As of version 8.2 it is possible to do the database configuration of most tables through IFC8. The missing tables will be gradually added.

Main tables (ICFG, IDRV, IACC, IDCO, IERR, ILAN and IRMS have already been realized)

For detailed documentation on the tables please see the respective section.

To enter the DB-Config screen press ICFG(0) under GlobalDbsConnection0:

This opens the DB-Config screen:

From here you can select the interface you want to configure

NOTE:

The grids in the DB-configuration can be sorted by any column. Just click on the desired header.

To Delete/Duplicate/Copy a row/node, just right-click !

Once you have selected the respective record in ICFG and have pressed "ICFG setup" in the left window, will IFC8 open the following screen:

In this screen you can configure all ICFG settings.

Note: IFC will already check the FKT-Logo (=the Schemas) here and will only allow those settings, which apply to this interface.

Only those columns will be shown, which are supported by this interface.

Next option is the configuration of the language codes:

Under IDRV you will find options to configure ICTT, ICTS and/or IDCO if applicable. Configuration of the DC-selection is described in a separate chapter.

IFC8 will only display those attributes in the section for ISUP which are available in the respective schema.

IFC8 will only display those attributes in the section for IERR which are available in the respective schema.

Setup of IRMS:

As of version 8.2.4.8 a new IRMS setup tool has been added:

Under IRMS Setup you can rights click and from there duplicate, delete or add rows.

Selecting "Add" will open the following form. here you can define a range or extension you want to add.

It will open with "801" as default. This number has no meaning, overwrite as you wish.

"Prfx/Sffx" will add numbers to the beginning or end. You can always see the result in the top left corner of this form

"Lrtm/Rtrm" will deduct numbers from the right or left, again see the top left croner for the result.

Duplicate check:

Selecting this option will show you all extensions which are setup more then once in IRMS for this ICFG_ID.

It will display all entries so that you can choose which one to delete.

Clicking on a row will sort the current view by that row. In this example the view has been sorted by Extension:

Importing Financial Accounts:

Through this option you can import financial accounts.

Highlights the desired lines by clicking on the row-header while holding the CTRL-key. (Or hold CTRL and press page-down for bigger selections)

Then rightsclick and select "Import Range to IRMS". Then the following form will open:

"AddRange" is greyed out as this selection was already taken. You can e.g. add prefixes now.

It is recommended to just import ZFAC entries and then go back to the general IRMS setup form and change the respective extensions right there.

Any specific setting can be changed right in the IRMS setup form:


New IFC8 Install wizard

New IFC8 Install wizard as of IFC8 version 9.6.10 (November 2015)

We changed the IFC8 install wizard so it now can be used also for Suite8 IfcBusi installation on the PMS workstation.

additional option has been added so one can choose to install IFC8 for Opera, IFC8 for Suite8 or IfcBusi for Suite8 PMS Workstations.

the wizard will also now force to choose a destination path for copying the related files.

see below the flow:

Startup of wizard:

(NEW!!) Select Setup type:

1. IfcBusi for Suite8: this must be chosen when you want to install the IfcBusi and related files on Suite8 PMS Workstations.
NO IFC8.exe will be installed !!!

2. IFC8 for Suite8: this must be chosen when you want to install IFC8 application for Suite8 PMS connection.

3. IFC8 for OPERA: this must be chosen when you want to install IFC8 application for OPERA PMS connection.
It will copy additional files to the program folder.

Select installation drive for IFC8:

(NEW!!) chose the destination path:

NOTE: Install wizard will always create sub folders \IFC8 & \Programs in addition to above defined path !

So when you want to install into C:\Fidelio\IFC8 & C:\Fidelio\Programs then leave the default path defined C:\Fidelio !!

Rest of install wizard has no further changes.

After Installation finished you will find the files in following folders:

C:\Fidelio\IFC8:

C:\Fidelio\Programs:


Update to IFC8.9.6.10

When you have to update the IFC8 version from an older version to 8.9.6.10 or higher you must process following steps as to properly remove old IfcComEx.dll from the system !

1. DO NOT USE the "Uninstall / Change a Program" option in Windows Control Panel.
DO NOT USE the old install wizard to uninstall the old version of IFC8.

2. START the new IFC8.9.6.10 Install wizard !

3. when started, run REPAIR option !!

This will un-register and delete old IfcComEx.dll from \ifc8 folder

4. once install wizard completed restart it again and run the REMOVE option !!

This will uninstall and unregister all IFC8 related files.

5. Run the Install wizard a third time and install IFC8 as described (click here for details).

When updating from 8.9.6.10 to higher versions these steps are not required !

Note: At IFC start it can happen that the existing Auth Keys (for DB Config access or EFT Communication) need to be re-entered manually !!


Install IfcBusi on Suite8 PMS workstations

For Suite8 PMS Installations with Interface (IFC8) each PMS workstation must have installed IfcBusi.dll and IfcAction.tlb plus additional files installed.

this is required for all workstations who perform check in / out etc = action to IFC8 Interfaces.

for this an additional Install wizard is available to run this installation.

With Ifc8.9.6.10 install wizard (November 2015) an additional option has been added which allows to install the IfcBusi / IfcAction files to the PMS workstation.

Means that the separate install wizard becomes obsolete from this version on. No new IfcBusi Install wizard will be created.

Click this link to see how to use the install wizard to run the IfcBusi installation on the PMS workstation.

it is required to install Ifc8.9.6.10 busi versions with Suite8.9.6.10 PMS and higher.

you can uninstall old IfcBusi Installation using the Windows Control Panel "Uninstall/Change Programs option.


Overview

Overview of the configuration

This chapter explains how general features (e.g. DC-selection, language-translation etc) are defined and configured.


Installation checklist

Below is a short list, which you should go through at installation time, to see, that you don't forget to configure any mandatory features.

Remember: IFC7 used to have a lot of default handling for not configured features. IFC8 does not have that. If you don't configure it, it's "disabled". (e.g. if you don't configure the Supplement field, it will stay empty.)

  1. LICENSE: Check that you have all respective functionality and FKT-licenses added to V8.
  2. Make sure that you have the latest copy of IFC8 from the FTP - run IFC8 Setup.
  3. Start IFC8 without any link to a config.Xml:

This message is generated by IFC8, because it attempts to link to Oracle and can not find the respective link.
(Note: Your will NOT get this message on installations with OPERA. IFC8 checks if an oracle client is installed and will scip this, if no client is detected. -> However, this check will logically fail on updates from IFC7W. On those installations make sure you delete the DBS-Connect later again.)

Hit 'Ignore'. IFC8 will then add all necessary default items to the config.Xml.

This message will only appear if the default logon "V8LIVE/LIVE@V8" is not valid.
Hit 'Retry' and add the correct settings - or 'Abort' and verify your oracle connection.

IFC8will now start and will ask for the FKT_LOGO which you intend to install. Overwrite "SIM", hit enter and then "Apply".

IFC8 will now initialize the PMS-object. If you want to use IfcNum="1", hit "Ignore", else press "Retry and enter the desired number:

IFC8 has now properly initialized.

Make sure that you now save your config.Xml to the desired path.

The following structure is recommended:

C:\Fidelio\IFC8\<FKT_LOGO>\<FKT_LOGO>_Ifc8Config.Xml

(e.g. C:\Fidelio\IFC8\M87\M87_Ifc8Config.Xml)

IFC8 will by default store it's logfiles next to the Config.Xml. For easier supporting it is recommended to use the above directory structure, so that anyone coming to the Hotel after you will find the files in the expected place.

Detailed configuration

For FKT_LOGO specific configuration check the IFC-Object under "Application Layer":

General configuration can be found under DBS-Config:


Interface Startup Options

To start IFC8.Exe, just add a shortcut pointing to the Exe.

If no parameter is added, then IFC will look for Ifc8Config.Xml by default.

If you want to open a specific XML, just add it to the command line:

e.g.

"C:\Fidelio\IFC8\Ifc8.Exe Micros8700.Xml"

Further option can be added to the command line.

1. "+V"

As well we added functionality into IFC8 to rebuild all Interface related views.

To activate this, please add a "+V" to the command line:

e.g.

"C:\Fidelio\IFC8\Ifc8.Exe Micros8700.Xml +V"

This option will as well pack IHST depending on the settings in IDRV and IWKC.

It is recommended to place the config.Xml into a separate directory from IFC8.Exe, as the logfiles will be written, wherever the XML is located.

e.g. copy the Micros8700.XML to:

C:\Fidelio\IFC8\M87\

and then change your shortcut to:

"C:\Fidelio\IFC8\Ifc8.Exe C:\Fidelio\IFC8\M87\Micros8700.Xml +V"

2. "+M"

To start IFC in minimized mode add "+M" to the command line.

As of IFC8.6.0.7 additional possibilities:

"+M1" = run minimized and do no update statuslamps any more

"+M2" = run minimized and do no update statuslamps and IFC/PMS objects any more

3. "+I"

The option "+I" forces the interface to display the DLL-Check screen. Normally this screen will only be displayed if one of the checks fails.

4. "-I"

Suppresses all error messages upon startup (including error for missing configuration attributes. These will be added and be filled with default parameters in this case.

NOTE: This option should NOT generally be used. "-I" disables the DLL-Version check completely. This option may for example be used when no valid OLE drivers were installed on the Interface PC and you have decided to not add these drivers.

5. "+L"

Most menu options are locked, if IFC ist started with "+L"

Allowed options are:

- Change Monitor level temporarily (can not be saved)

- Save logfile (but not "Save as")

This option can be used to lock IFC8 -by simply not grating userrights to change icons/shortcuts.

6. "+C"

IFC8 will start in 'Configuration Mode' and will not attempt to connect to the PMS (and subsequently not to a vendor system).

7. "+B"

IFC8 will beep once a second when started with this option. (The same beep which IFC7 used to have)

8. "+W"

"Wait for CPU usage" - IFC8 will check for enough free CPU time during startup and will stay in idle mode until CPU-usage has reduced.

This feature can be used in DataCenter installation when massive amounts of IFC8s are running on one machine and all IFCs are started at once.

example:

+W30 -> wait until CpuUsage<=30%

9. "+H"

Only available in service installations. IFC8 starts 'hidden'. No form will be displayed, there is no way to access IFC8 in this mode. It can only be started and stopped.

This mode has been added for DC-installations, where the IFC8-service needs to run as system account.


How do I start a DB-Swap ?

Database swap is started from the "Simulation" Menu and (later) from the Submenu in Suite8. A short like the know "Alt-X" will not be implemented.

The following options are available for the Database Swap:

DrHard = &H4 = 4 'DataResync/Hard

DrGuestIn = &H8 = 8 'DataResync/with GuestIn action

DrGuestOut = &H10 = 16 'DataResync/with GuestOut action

DrRoomEquipment = &H20 = 32 'DataResync/with RoomEquipment action

DrGuestMess = &H40 = 64 'DataResync/with GuestMess action (Not implemented yet)

The above values may be combined by simply adding the values.

A "standard" DB-Swap based on the FO-status (honoring IGST) would then be a "56" (8+16+32). With this DB-Swap IFC will check for the current status of the extension, so if an extension was barred manually, then it will stay barred during the DB-Swap.

To overwrite all IGST values and only look at the C/I and C/O status of the PMS use value = "60" (4+8+16+32). With this DB-Swap every checked-In extension will be set to "unbarred" and every checked-out extension will be barred.


How do I configure access rights for Key Interfaces ?

The actual values expected by the vendor system are defined in the respective Ifc8Config.Xml.

Necessary translation is done in IDLR.

1.

To configure the drop-down box in V8 go to:

Then add as many Keyrights as you need:

NOTE:

Please check carefully, what kind of key-system you are installing.

Some keysystems have a rather simple rights structure ( like "0001011110" in the string) where each right can be simple set with "1"=on and "0"=off. Some other systems allow more values , where suddenly the rights need to be combined (e.g. Vingcard, where only "UserGroup" is sent, but the value for UserGroup can be defined by different combinations of the rights, which you just entered in the PMS.)

Result: The more values you add here, the more complicated will your Interface configuration be.

NOTE:

IFC8 can handle a maximum of 20 different Key-Rights. Do not add more, as they will be ignored.

2.

The values configured in "1." will be passed on to the IFC as a list. e.g. You have configured 5 different access rights in the PMS (Numbers 1-5) will they be passed on as "1,2,3,4,5", depending what the user chooses to click in the "Make-Key" mask.

This value is now converted in IDLR to something your respective parser (FKT) can understand and handle.

IDLR was designed to handle all possible currently know scenarios of KeyAccess right handling.

Understanding the "KeyOptions"-Attribute:

This attribute is hardcoded to 20 characters. These will always be passed on to the parser, default value on all positions is a <blank>, only when key-Rights are received from the PMS will they be overwritten.

Scenario 1:

The Key-System has a datastring where a certain amount of positions are used to defined the respective rights. Each position stand for one right.

Let's say the datastring contains a "000" where these three positions stand for:

GARAGE-SAUNA-VIPLOUNGE

In the PMS you have configured three rights, which have the IFC-Codes 1,2 and 3

In IDLR you now link each of them to the position in the datastring, which equals the position in the KeyOptions attribute.

NOTE: The positions in the attribute are counted from the RIGHT ! So in order to set the first number, the position value is the "20".

So now our config would look like this:

IDLR_PRIORITY | IDLR_XPDA_IFC_CODE | IDLR_KEY_CODE_POS | IDLR_KEY_CODE_VAL
 | 1 | 20 | 1
 | 2 | 19 | 1
 | 3 | 18 | 1

Which means e.g. for the first entry:

If IFC-Code "1" is received from PMS, set position 20 in the KeyOptions attribute to a "1".

This will be received by the parser and will be written to the datastring as a "1". Any value from IDLR_KEY_CODE_VAL will be directly placed into the vendor's datastring. So should you want to send something else but a "1" then it's configured here.

Scenario 2:

(below we related to Vingcard VC3, yet this for example applies to FIAS as well.)

In scenario 1 every PMS-Right was linked to one position in the Attribute and at the same time to one position in the outgoing datastring. Now let's say we want to configure VingCard (VC3). Vingcard has two value to be changed: userGroup and userType, but each of them may have different values.

userType should always be hardcoded in the Config.Xml, as this one is used for Suite-Handling, which has not been added to Suite8 yet. The type is configured on position 20 in the KeyOptions Attribute, so your config should never fill this position.

UserGroup is configured on Pos 19, so here we need intensive config.

An example setup:

IDLR_PRIORITY | IDLR_XPDA_IFC_CODE | IDLR_KEY_CODE_POS | IDLR_KEY_CODE_VAL
2 | 1 | 19 | 1
1 | 2 | 19 | 2
3 | 3 | 19 | 3
5 | 4 | 19 | 4
4 | 5 | 19 | 5

  • IDLR_KEY_CODE POS can only have a "19" as value as this is the only Key-Right, which is handled by Vingcard.

  • XPDA_IFC_CODE can only have unique entries, as each of them represents the respective right as configured in the PMS.

  • KEY_CODE_VALUE represents the value, which would be sent to the VC3-Parser.

  • PRIORITY - This field will only be read by the IFC in case more then one XPDA_IFC_CODE is received. Should only one code come from the PMS, will IFC send the respective KEY_CODE_VAL as found in the same record. Should more then one be received, will IFC check the priority of each of the rights and then take the KEY_CODE_VAL from the one with the highest priority (where 1 is the highest.)

So using the above config, IFC would send KeyOptions=" 2 " when receiving GuestRights=1,2,3 from the PMS, as the right "2" has the highest priority.

The KeyOptions are then again translated in the repsective ConfigXml, should the vendor systtem expect some other values. For vingcard the IFC would now look for

VC3_UserGroup_2="GUEST2"

to find the actual value to be sent out.


How do I configure Bill-View ?

Bill-View configuration is divided into two parts:

Vendor specific configuration:

Video-Systems usually have limitations in the amount of characters which they can display per line or per page.

Please check the configuration of the respective driver, to see if these can be configured (possible with most drivers; NOT possible with FIAS).

(Above is an example with FKT=TGL)

Furthermore you can define in the business logic, if all postings (incl. those where display-flag = N) should be sent, or only those which should be displayed.

Different Windows:

By default Window 1 is being displayed to the guest. All further windows are not displayed. While setting up routing instructions, the user needs to activate Bill-view manually for every instruction:

Note: if windows are created manually, then the settings from Window 1 will be copied. i.e.: postings from manually created windows will ALWAYS be displayed to the guest!!

Merge Items by POS-Check-Number:

Some Hotels do not want to display the full F&B split of POS postings to the guests on the TV.

In that case activate the above functionality and IFC will merge all postings from a guestcheck together and send them as one line. (Verified with Micros, may not work with other POS systems.)

NOTE: IFC will use the main-group descriptor as departmentcode for these merged postings. Some video-systems have a problem with these, as they can be setup as e.g. "F&B" .

Prodac for example always expects the department code in the record to be numeric. So for these systems, either disable the merge functionality, or reconfigure Suite8 to only use numeric values.

OPERA:

An example of an error scenario:

09.19/12:10:04,89] => <GuestBillBalance RoomNum="251"
 GuestNum="350152" BalanceAmount="577.04" PostNum="S6179999DISP251
 350152" xmlns="x-schema:GuestBillBalanceSchema_O">

<GuestBillItem Date="070918" Time="000000" ItemAmount="48"
 ItemDescription="Speicher 52 Breakfast 352720070918093915" ItemdisplayFlag="1"
 DepartmentCode="21110"/>

<GuestBillItem Date="070918" Time="000000" ItemAmount="63.26"
 ItemDescription="Guest Balance Forward" ItemdisplayFlag="0"
 DepartmentCode="99301"/>

<GuestBillItem Date="070918" Time="000000" ItemAmount="63.26"
 ItemDescription="Guest Balance Forward" ItemdisplayFlag="0"
 DepartmentCode="99301"/>

<GuestBillItem Date="070918" Time="000000" ItemAmount="209"
 ItemDescription="Guest Balance Forward" ItemdisplayFlag="1"
 DepartmentCode="99301"/>

<GuestBillItem Date="070918" Time="000000" ItemAmount="59.24" ItemDescription="Guest Balance Forward" ItemdisplayFlag="1" DepartmentCode="99301"/>

<GuestBillItem Date="070918" Time="000000" ItemAmount="209"
 ItemDescription="Guest Balance Forward" ItemdisplayFlag="1"
 DepartmentCode="99301"/>

<GuestBillItem Date="070919" Time="000000" ItemAmount="48"
 ItemDescription="Speicher 52 Breakfast 367920070919085410" ItemdisplayFlag="1"
 DepartmentCode="21110"/>

<GuestBillItem Date="070919" Time="000000" ItemAmount="3.8"
 ItemDescription="Minibar IFC Soft" ItemdisplayFlag="1"
 DepartmentCode="30126"/>

</GuestBillBalance>

[09.19/12:10:05,00] <- S6170001ITEM091821110 4800K

[09.19/12:10:05,05] ->

[09.19/12:10:05,08] <- S6170002ITEM091899301 20900^

[09.19/12:10:05,11] ->

[09.19/12:10:05,14] <- S6170003ITEM091899301 592400N

[09.19/12:10:05,17] ->

[09.19/12:10:05,20] <- S6170004ITEM091899301 20900X

[09.19/12:10:05,25] ->

[09.19/12:10:05,28] <- S6170005ITEM091921110 4800N

[09.19/12:10:05,61] ->

[09.19/12:10:05,64] <- S6170006ITEM091930126 3800O

[09.19/12:10:05,69] ->

[09.19/12:10:05,70] <- S6179999BAL 647600[0C]

[09.19/12:10:05,72] ->

The above happens because the decimal separator in the IFC-PC is set as 'comma' and OPERA in this configuration sends a 'dot'.

Please ensure that the decimal separator as used by OPERA for IFC8 is always set in the regional settings of the IFC-PC.

As of September 2011 it is possible to display bill-items in the language of a guest if the correcponding translation has been done in the PMS, minimum PMS version: 8.8.4.x.

To do so the corresponding views need to be implemented (default in all PMS versions >=8.8 ):

CREATE OR REPLACE VIEW V8_IFC_GETBILLITEMYRES AS

SELECT

ZPOS.ZPOS_PCDATE POSTDATE,

ZPOS.ZPOS_YRES_ID RESERVATION_ID,

ZPOS.ZPOS_ZFAC_ID FINANCIALACC_ID,

(DECODE(ZPOS.zpos_cdt,5,DECODE(ZPOS.zpos_paidout,1,(-ZPOS.zpos_unitprice*ZPOS.zpos_quantity),-(ZPOS.zpos_unitprice*ZPOS.zpos_quantity)),DECODE(ZPOS.ZPOS_CDT,5,0,ZPOS.zpos_sumupamount))) ITEMAMOUNT,

ZDCO.ZDCO_NUMERICDESC DEPCODE_NUMERICDESCRIPTION,

(CASE WHEN ((ZPOS.ZPOS_DESCRIPT=ZDCO.ZDCO_LONGDESC) OR ZPOS.ZPOS_DESCRIPT=(SELECT YRCH.YRCH_FOLIOTEXT FROM YRCH,YDET WHERE YRCH.YRCH_ID=YDET.YDET_YRCH_ID AND YDET.ydet_date=ZPOS.ZPOS_POSTDATE AND YDET.YDET_YRES_ID=ZPOS.ZPOS_ORIGINATED_YRES_ID AND ROWNUM=1)) THEN (DECODE(ZPOS.ZPOS_DESCRIPT,(SELECT YRCH.YRCH_FOLIOTEXT FROM YRCH,YDET WHERE YRCH.YRCH_ID=YDET.YDET_YRCH_ID AND YDET.ydet_date=ZPOS.ZPOS_POSTDATE AND YDET.YDET_YRES_ID=ZPOS.ZPOS_ORIGINATED_YRES_ID AND ROWNUM=1),Wtrl_Translate('YRCH',(SELECT YRCH.YRCH_ID FROM YRCH,YDET WHERE YRCH.YRCH_ID=YDET.YDET_YRCH_ID AND YDET.ydet_date=ZPOS.ZPOS_POSTDATE AND YDET.YDET_YRES_ID=ZPOS.ZPOS_ORIGINATED_YRES_ID AND ROWNUM=1),'YRCH_FOLIOTEXT',NVL((DECODE((SELECT XCCA.XCCA_XCMSTYPE FROM XCCA,XCMS WHERE XCCA.XCCA_ID=XCMS.XCMS_XCCA_ID AND XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID),2,(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID),(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_CONTACT_ID))),/*NEW*/(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID))),(DECODE(NVL(ZDCO.ZDCO_FOLIOTEXT,' '),' ',Wtrl_Translate('ZDCO',ZDCO.ZDCO_ID,'ZDCO_LONGDESC',NVL((DECODE((SELECT XCCA.XCCA_XCMSTYPE FROM XCCA,XCMS WHERE XCCA.XCCA_ID=XCMS.XCMS_XCCA_ID AND XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID),2,(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID),(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_CONTACT_ID))),/*NEW*/(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID))),Wtrl_Translate('ZDCO',ZDCO.ZDCO_ID,'ZDCO_FOLIOTEXT',NVL((DECODE((SELECT XCCA.XCCA_XCMSTYPE FROM XCCA,XCMS WHERE XCCA.XCCA_ID=XCMS.XCMS_XCCA_ID AND XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID),2,(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID),(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_CONTACT_ID))),/*NEW*/(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID))))))) ELSE ZPOS.ZPOS_DESCRIPT END) DEPCODE_LONGDESCRIPTION,

ZPOS.ZPOS_COMMENT ITEMDESCRIPTION,

ZWIN.ZWIN_WINDOW WINDOW,

(SELECT YRMS.YRMS_SHORTDESC FROM YRMS,YRES WHERE YRMS.YRMS_ID=YRES.YRES_YRMS_ID AND YRES.YRES_ID=ZPOS.ZPOS_YRES_ID) ROOMNUMBER,

nvl(ZWIN.ZWIN_BILLVIEW,0) ITEMDISPLAYFLAG,

(select ZDCG.ZDCG_SHORTDESC from zdcg where ZDCG.ZDCG_ID=ZDCO.ZDCO_ZDCG_ID) MAIN_SHORTDESC,

(select ZDCG.ZDCG_LONGDESC from zdcg where ZDCG.ZDCG_ID=ZDCO.ZDCO_ZDCG_ID) MAIN_LONGDESC,

ZPOS.ZPOS_THIRDPARTYDATE THIRDPARTY_DATE,

ZPOS.ZPOS_POSCHECK_NR POS_CHECKNR

FROM

ZPOS,

ZWIN,

ZDCO

WHERE

(zpos_zall_id IS NULL OR zpos_zall_id=0) AND

ZPOS.zpos_id=ZPOS.zpos_internalsplit_zpos_id AND

zdco_id=ZPOS.zpos_zdco_id AND

ZPOS.ZPOS_ZWIN_ID = ZWIN.ZWIN_ID(+) AND

NVL(ZPOS.ZPOS_HIDDEN,0)=0

AND ZPOS.ZPOS_YRES_ID is not null

AND (SELECT YRES.YRES_CALCSTATUS FROM YRES WHERE YRES.YRES_ID=ZPOS.ZPOS_YRES_ID) in (2,3,4,8)

 AND
ABS((DECODE(ZPOS.zpos_cdt,5,DECODE(ZPOS.zpos_paidout,1,(-ZPOS.zpos_unitprice*ZPOS.zpos_quantity),-(ZPOS.zpos_unitprice*ZPOS.zpos_quantity)),DECODE(ZPOS.ZPOS_CDT,5,0,ZPOS.zpos_sumupamount))))<>(DECODE((SELECT
WUSS.WUSS_VALUE FROM WUSS WHERE WUSS.WUSS_XCMS_ID=0 AND WUSS.WUSS_NAME='Show
0 Postings on Billing Screen'),1,-1,0));

CREATE OR REPLACE VIEW V8_IFC_GETBILLITEMZFAC AS

SELECT

ZPOS.ZPOS_PCDATE POSTDATE,

ZPOS.ZPOS_YRES_ID RESERVATION_ID,

ZPOS.ZPOS_ZFAC_ID FINANCIALACC_ID,

(DECODE(ZPOS.zpos_cdt,5,DECODE(ZPOS.zpos_paidout,1,(-ZPOS.zpos_unitprice*ZPOS.zpos_quantity),-(ZPOS.zpos_unitprice*ZPOS.zpos_quantity)),DECODE(ZPOS.ZPOS_CDT,5,0,ZPOS.zpos_sumupamount))) ITEMAMOUNT,

ZDCO.ZDCO_NUMERICDESC DEPCODE_NUMERICDESCRIPTION,

(CASE WHEN ((ZPOS.ZPOS_DESCRIPT=ZDCO.ZDCO_LONGDESC) OR ZPOS.ZPOS_DESCRIPT=(SELECT YRCH.YRCH_FOLIOTEXT FROM YRCH,YDET WHERE YRCH.YRCH_ID=YDET.YDET_YRCH_ID AND YDET.ydet_date=ZPOS.ZPOS_POSTDATE AND YDET.YDET_YRES_ID=ZPOS.ZPOS_ORIGINATED_YRES_ID AND ROWNUM=1)) THEN (DECODE(ZPOS.ZPOS_DESCRIPT,(SELECT YRCH.YRCH_FOLIOTEXT FROM YRCH,YDET WHERE YRCH.YRCH_ID=YDET.YDET_YRCH_ID AND YDET.ydet_date=ZPOS.ZPOS_POSTDATE AND YDET.YDET_YRES_ID=ZPOS.ZPOS_ORIGINATED_YRES_ID AND ROWNUM=1),Wtrl_Translate('YRCH',(SELECT YRCH.YRCH_ID FROM YRCH,YDET WHERE YRCH.YRCH_ID=YDET.YDET_YRCH_ID AND YDET.ydet_date=ZPOS.ZPOS_POSTDATE AND YDET.YDET_YRES_ID=ZPOS.ZPOS_ORIGINATED_YRES_ID AND ROWNUM=1),'YRCH_FOLIOTEXT',NVL((DECODE((SELECT XCCA.XCCA_XCMSTYPE FROM XCCA,XCMS WHERE XCCA.XCCA_ID=XCMS.XCMS_XCCA_ID AND XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID),2,(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID),(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_CONTACT_ID))),/*NEW*/(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID))),(DECODE(NVL(ZDCO.ZDCO_FOLIOTEXT,' '),' ',Wtrl_Translate('ZDCO',ZDCO.ZDCO_ID,'ZDCO_LONGDESC',NVL((DECODE((SELECT XCCA.XCCA_XCMSTYPE FROM XCCA,XCMS WHERE XCCA.XCCA_ID=XCMS.XCMS_XCCA_ID AND XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID),2,(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID),(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_CONTACT_ID))),/*NEW*/(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID))),Wtrl_Translate('ZDCO',ZDCO.ZDCO_ID,'ZDCO_FOLIOTEXT',NVL((DECODE((SELECT XCCA.XCCA_XCMSTYPE FROM XCCA,XCMS WHERE XCCA.XCCA_ID=XCMS.XCMS_XCCA_ID AND XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID),2,(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID),(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_CONTACT_ID))),/*NEW*/(SELECT XCMS.XCMS_WLAN_ID FROM XCMS WHERE XCMS.XCMS_ID=ZWIN.ZWIN_INVOICE_TO_XCMS_ID))))))) ELSE ZPOS.ZPOS_DESCRIPT END) DEPCODE_LONGDESCRIPTION,

ZPOS.ZPOS_COMMENT ITEMDESCRIPTION,

ZWIN.ZWIN_WINDOW WINDOW,

decode((select ZFAC.ZFAC_ZFAN_ID from ZFAC where ZPOS.ZPOS_ZFAC_ID=ZFAC.ZFAC_ID),null,to_char((select ZFAC.ZFAC_AUTONUMBER from ZFAC where ZPOS.ZPOS_ZFAC_ID=ZFAC.ZFAC_ID)),(select ZFAN_LONGDESC from ZFAN, ZFAC where ZPOS.ZPOS_ZFAC_ID=ZFAC.ZFAC_ID and ZFAC.ZFAC_ZFAN_ID=ZFAN.ZFAN_ID)) ROOMNUMBER,

nvl(ZWIN.ZWIN_BILLVIEW,0) ITEMDISPLAYFLAG,

(select ZDCG.ZDCG_SHORTDESC from zdcg where ZDCG.ZDCG_ID=ZDCO.ZDCO_ZDCG_ID) MAIN_SHORTDESC,

(select ZDCG.ZDCG_LONGDESC from zdcg where ZDCG.ZDCG_ID=ZDCO.ZDCO_ZDCG_ID) MAIN_LONGDESC,

ZPOS.ZPOS_THIRDPARTYDATE THIRDPARTY_DATE,

ZPOS.ZPOS_POSCHECK_NR POS_CHECKNR

FROM

ZPOS,

ZWIN,

ZDCO

WHERE

(zpos_zall_id IS NULL OR zpos_zall_id=0) AND

ZPOS.zpos_id=ZPOS.zpos_internalsplit_zpos_id AND

zdco_id=ZPOS.zpos_zdco_id AND

ZPOS.ZPOS_ZWIN_ID = ZWIN.ZWIN_ID(+) AND

NVL(ZPOS.ZPOS_HIDDEN,0)=0

AND ZPOS.ZPOS_ZFAC_ID is not null

AND ((SELECT ZFAC.ZFAC_ACTVALIDFROMNULL from ZFAC where ZPOS.ZPOS_ZFAC_ID=ZFAC.ZFAC_ID)=0 and (SELECT ZFAC.ZFAC_ACTVALIDUNTILNULL from ZFAC where ZPOS.ZPOS_ZFAC_ID=ZFAC.ZFAC_ID)=1)

AND nvl((SELECT ZFAG.ZFAG_TYPE FROM ZFAC, ZFAG WHERE ZFAG.ZFAG_ID=ZFAC.ZFAC_ZFAG_ID and ZPOS.ZPOS_ZFAC_ID=ZFAC.ZFAC_ID),0) not in (1,2,12)

 AND
ABS((DECODE(ZPOS.zpos_cdt,5,DECODE(ZPOS.zpos_paidout,1,(-ZPOS.zpos_unitprice*ZPOS.zpos_quantity),-(ZPOS.zpos_unitprice*ZPOS.zpos_quantity)),DECODE(ZPOS.ZPOS_CDT,5,0,ZPOS.zpos_sumupamount))))<>(DECODE((SELECT
WUSS.WUSS_VALUE FROM WUSS WHERE WUSS.WUSS_XCMS_ID=0 AND WUSS.WUSS_NAME='Show
0 Postings on Billing Screen'),1,-1,0));


How do I configure Code-Pages ?

Far out in the uncharted backwaters of the unfashionable end of the western spiral arm of the Galaxy lies a small unregarded yellow sun.

Orbiting this at a distance of roughly ninety-two million miles is an utterly insignificant little blue green planet whose ape- descended life forms are so amazingly primitive that they still think digital watches are a pretty neat idea.

This planet has - or rather had - a problem, which was this:

The Code-Page Confusion !

but, DON'T PANIC.

What is a character-set?

A character-set can be seen as the amount of characters which can be used.

What is a code-page ?

A codepage is the definition how a character-set is coded. So it is possible that two code-pages use the same character-set.

Configuration within IFC8:

1. ParseCharSet

It is possible to define the code-page, which the respective external system is using, in both the IFC and PMS objects.

The parameter is located under Application Layer\ParseCharSet.

Generally the installer should not need to do any changes to the defaults which are added by IFC8.

NOTE: This only applies, if IFC8 is installed on the interface PC and the configuration tool is used to create a NEW Config.Xml.

If another Config.Xml is copied to the PC and is used for the installation, will IFC8 not update the XML with any default. (This can not be done, as IFC can not know, if the already set value is intentional or not.)

Internal communication of IFC8 is always done in UniCode character set. This is not changeable (and does not need to be changed anyway).

To identify:

  • 'External' communication of IFC8 is marked in blue/red in the monitor and logfile. This refers to all communications to vendor systems and to PMSs.

  • 'Internal' communication of IFC8 is marked in magenta/cyan in the monitor and logfile This refers to communication between IFC and PMS objects within the IFC8-programme.

The interface will provide a default setting based on the respective FKT-Logo and the OS-settings of the IFC-PC. (Again: Do NOT install IFC on your laptop, but ALWAYS on the IFC-PC so that the configuration module of IFC8 can read the correct regional settings.)

Following is a list of the currently supported codepages (Value = the config value for IFC8):

Type | Description | Value | Remarks
7-Bit standard CharSet | ASCII_7bit | 20127 | The basic Latin character set
7-Bit special national |  |  | Hex-Codes: 23 24 40 5B 5C 5D 5E 60 7B 7C 7D 7E
 | ISO_646_INT | 49999 | # ¤ @ [ \ ] ^ ` ( | ) ~
 | ISO_646_GER | 49998 | # $ § Ä Ö Ü ^ ` ä ö ü ß
 | ISO_646_SWI | 49997 | ù $ à é ç ê î ô ä ö ü û
 | ISO_646_US | 49996 | # $ @ [ \ ] ^ ` ( | ) ~
 | ISO_646_UK | 49995 | £ $ @ [ \ ] ^ ` ( | ) ~
 | ISO_646_FR | 49994 | £ $ à ° ç § ^ ` é ù é ¨
 | ISO_646_CAN | 49993 | # $ à â ç ê î ô é ù é û
 | ISO_646_FIN | 49992 | # $ @ Ä Ö Å Ü é ä ö å ü
 | ISO_646_NOR | 49991 | # $ @ Æ Ø Å ^ ` æ ø å ~
 | ISO_646_SWE | 49990 | # $ É Ä Ö Å Ü é ä ö å ü
 | ISO_646_IT | 49989 | £ $ § ° ç é ^ ù à ò ù ì
 | ISO_646_NED | 49988 | £ $ ¾ ÿ ½ | ^ ` ¨ ƒ ¼ ´
 | ISO_646_ESP | 49987 | £ $ § ¡ Ñ ¿ ^ ` ° ñ ç ~
 | ISO_646_POR | 49986 | # $ @ Ã Ç Õ ^ ` ã ç õ ~
8-Bit IBM & DOS CodePages | CP_437 | 437 | DOS-US / OEM-US / IBM-PC since 1981
 | CP_850 | 850 | DOS-Latin-1, FIAS
 | CP_708 | 708 | ARABIC-DOS
 | CP_720 | 720 | 720 DOS CodePage
 | CP_852 | 852 | 852 IBM CodePage
 | CP_862 | 862 | 862 DOS CodePage
 | CP_866 | 866 | 866 IBM CodePage
DBCS (Double Byte Character Set) CodePages | CP_874_DBCS_THAI | 874 | DBCS THAI CodePage
CodePages | CP_932_DBCS_JAPAN | 932 | DBCS JAPAN CodePage
 | CP_936_DBCS_CHINA | 936 | DBCS CHINA CodePage
 | CP_949_DBCS_KOREA | 949 | KOREA CodePage
 | CP_950_DBCS_TAIWAN | 950 | TAIWAN CodePage
 | DBCS_ANSI | 49985 | Via LCID. Configure the LCID in "Regional and Language Options"/"Advanced"/"Language for non-Unicode programs".
8-Bit ISO-8859 CodePages | ISO_8859_1 | 28591 | WESTEUROPE (same like ISO_8859_1 but without CtrlChar &H00-&H1F and &H80-&H9F)
 | ISO_8859_2 | 28592 | EASTEUROPE 'Latin-2
 | ISO_8859_3 | 28593 | SOUTHEUROPE 'Latin-3
 | ISO_8859_4 | 28594 | BALTIC 'Latin-4
 | ISO_8859_5 | 28595 | RUSSIAN 'Kyrillic
 | ISO_8859_6 | 28596 | ARABIC 'Arabisch
 | ISO_8859_7 | 28597 | GREEK 'Griechisch
 | ISO_8859_8 | 28598 | HEBREW 'Hebräisch
 | ISO_8859_9 | 28599 | TURKISH 'Latin-5
 | ISO_8859_13 | 28603 | BALTIC 'Latin-7
 | ISO_8859_15 | 28605 | WESTEUROPE 'Latin-9 (vs. ISO_8859_1 including additional french characters and EURO symbol)
8-Bit Windows CodePages | CP_1250 | 1250 | EASTEUROPE '8-Bit Win East Europe(like ISO-8859-2 but additional definitions between &H80-&H9F)
 | CP_1251 | 1251 | RUSSIAN '8-Bit Win Russian(like ISO-8859-5 but additional definitions between &H80-&H9F)
 | CP_1252 | 1252 | WESTEUROPE '8-Bit Win West Europe(like ISO-8859-1 but additional definitions between &H80-&H9F)
 | CP_1253 | 1253 | GREEK '8-Bit Win Greek(like ISO-8859-7 but additional definitions between &H80-&H9F)
 | CP_1254 | 1254 | TURKISH '8-Bit Win Turkish(like ISO-8859-5 but additional definitions between &H80-&H9F)
 | CP_1255 | 1255 | HEBREW '8-Bit Win Hebrew(like ISO-8859-8 but additional definitions between &H80-&H9F)
 | CP_1256 | 1256 | ARABIC '8-Bit Win Arabic(like ISO-8859-6 but additional definitions between &H80-&H9F)
 | CP_1257 | 1257 | BALTIC '8-Bit Win Baltic(like ISO-8859-13 but additional definitions between &H80-&H9F)
 | CP_1258 | 1258 | VIETNAMESE '8-Bit Win Vietnamese(like ISO-8859-13 but additional definitions between &H80-&H9F)
UniCode CodePages | UNI_CODE | -1 | ISO 10646 -> 16-Bit(Ver.1) 24-Bit(Ver.2) / &H00-&HFF is equally with ISO-8859-1

U+0000 – U+007F 0 – 127 ASCII

U+0080 – U+00FF 128 – 255 ISO-Latin-1

U+0100 – U+017F 256 – 383 Latin Extended A (special diakritic characters)

U+0180 – U+024F 384 – 591 Latin Extended B (spezial, normally not latin characters, which are used in some languages)

U+0370 – U+03FF 880 – 1023 Greek

U+0400 – U+04FF 1024 – 1279 Cyrilic

U+0590 – U+05FF 1424 – 1535 Hebrew

U+0600 – U+06FF 1536 – 1791 Arabic

U+0900 – U+097F 2304 – 2431 Devanagari (used in most indian languages)

U+2200 – U+22FF 8704 – 8959 Mathematical Symbols

U+3040 – U+309F 12352 – 12447 Hiragana (japanese)

U+30A0 – U+30FF 12448 – 12543 Katakana (japanese)

U+4E00 – U+9FA5 19968 – 40869 CJK Unified Ideographs (Chinese characters, which are partly used for Japanese and Korean too.)

2. CharPlaceHolder_Def

This parameter is used to define how characters should be represented, which are not part of the codepage as defined under "ParseCharSet" (= exemption handling).

The parameter is separated into 4 separate fields, with 3 pipes ( | | |) as separators between the fields.

NOTE: Do NOT replace any characters for POS systems , as that will result in PostRequest records with incorrect guestname attributes.

First field: General Placeholder

This field can either be filled with a character (e.g. '?') or with the decimal representation of a character.

IFC8 will take the placeholder as defined in the IFC-PCs operating system, if no value is added (=default).

Second field: Diacritial Characters:

This field can be used with KeyWords.

Currently only one is available:

GE_UML

If GE_UML is set, this means that German Umlaute should be replaced. à 'Ä'='Ae' / 'ä'='ae' / 'ß'='ss' etc.

Third field: Control Characters 0 - 8h:

This field can either be filled with a character (e.g. '?') or with the decimal representation of a character.

IFC8 will take the placeholder as defined in the IFC-PCs operating system, if no value is added (=default).

Fourth field: Control Characters 9h - 1F:

This field can either be filled with a character (e.g. '?') or with the decimal representation of a character.

IFC8 will take the placeholder as defined in the IFC-PCs operating system, if no value is added (=default).

Explainign the above example:

ParseCharSet=28591 (which equals ISO 8859-1 WESTEUROPE)

In this case the „€“-character can not be displayed (does not have a representation in ISO 8859-1).

So, with default settings the € would get replaced with a '?'.

XmlAttr=”Test-Euro €” [image] CharPlaceHolder=“|||“ [image] VendorField=”Test-Euro ?”

Now the first position is set to '191, so the € is now replaced with a '¿'.

XmlAttr=”Test-Euro €” [image] CharPlaceHolder=“191|||“ [image] VendorField=”Test-Euro ¿”

Now an example how control characters could be converted:

XmlAttr=”Zeile1<CR><LF>Zeile2” [image] CharPlaceHolder=“||63|63“ [image] VendorField=”Zeile1..Zeile2”

And an example for german Umlauts:

XmlAttr=”Andreas Köhler” [image] CharPlaceHolder=“| GE_UML ||“ [image] VendorField=”Andreas Koehler”

________________________________________________________________________________________________

We have seen problems to display special characters on certain machines and did a bit of research to see, why this was the case.

This is how is should look like (GuestFormattedname):

How to get there:

1. Set the monitor properties to display UNI-Code characters:

Secondly you need to check the installed FONTS on your system:

You need to have either “Arial Unicode MS” or “Arial Unicode MS Standard”.

If you don’t have either of the above installed on the system, then you need to add the font.

For your convenience, we have uploaded he font to both FTP-Servers into the Utility folder.

ftp.v8.myfidelio.com/IFC8/Utility/ARIAL_UNI-CODE_Truetype_Font.zip

or

ftp.micros.com/fidelio/archive/IFC/Utility/ARIAL_UNI-CODE_Truetype_Font.zip

Codepages with IFC8's XML:

Primarily: changing the default codepage=-1(UTF-8 compatible) is NOT allowed for XML-Fkt.-Logo(s).

Some programming environments have difficulties to properly process/transfer UTF-8 encoded Unicode-characters (multi-byte data) on physical Comm-Layers.

Maning: transfer these characters over RS232 or Socket without corruption.

Subsequently IFC8 will keep data UTF-7 compatible but will not transfer multi-byte characters. Receiving of multi-byte characters is however supported:

Example:

(Turquoise is the internal record, Red is the format as it is sent to the vendor system):

[11.03/11:57:38]
 => <GuestdataChange xmlns="x-schema:GuestdataChangeSchema_O"
 RoomNum="388" GuestNum="34769" GuestName="Häusle"
 GuestFormattedname="Häusle" GuestLanguage="DE"
 GuestShareflag="N" RequestType="0"/>

[11.03/11:57:38] <- <GuestdataChange
 xmlns="x-schema:GuestdataChangeSchema_O" RoomNum="388"
 GuestNum="34769" GuestName="H&#xE4;usle" GuestFormattedname="H&#xE4;usle"
 GuestLanguage="DE" GuestShareflag="N" RequestType="0"/>

The GuestNname="Häusle" contains the Umlaut "ä" which is encoded as [E4] in UNI-Code.In UTF-8 this is already coded as "Doublebyte" [C3,A4].

Using the XML-compatible Entity of Unicode-Characters in the format H&#x... [ here "E4"à"&#xE4;" which is used for "ä" ] will eliminate the problem of sending Multi-Byte characters without violating UTF-8 compatibility.

Taking this into account one could say that no character > 127 (7F) would be transferred. This corresponds to the ASCII Codepage and thus the XML-Declaration <?xml version="1.0" encoding="ASCII"?>. would be theoretically valid.

Problems with this handling are thus NOT related to the used codepage but can mostly be found in the inability of an XML-Parser to resolve XML-compatible references as described above. (This problem has been observed with JAVA-classes.)

The transformation from UTF-8 to Unicode/Multibyte form is automatically handled during the loading of an XML-document in XML-DOM or SAX parsers (like MsXML*.DLL)

Examples:

<GuestdataChange RoomNum="388" GuestNum="34769" GuestName="H&#xE4;usle"/>

Result when opened with IE6:

<GuestdataChange RoomNum="388" GuestNum="34769" GuestName="Häusle" />

<?xml version="1.0" encoding="UTF-8"?><GuestdataChange RoomNum="388" GuestNum="34769" GuestName="H&#xE4;usle"/>

Result when opened with IE6:

<?xml version="1.0" encoding="UTF-8" ?>

  <GuestdataChange RoomNum="388" GuestNum="34769" GuestName="Häusle" />


How do I configure DefRef definitions in IDRF?

The first rule should always be to DELETE existing records in IDRF before commencing configuration.

IFC8 will add default records depending on FKT_LOGO once the configuration is selected:

Example for Alcatel 4400: (A44:)

Example for Enhanced Micros (M87POS):

IDRF_VIEW_NAME allows you to select the view from which you want to display data:

Please contact your regional Interface Product manager should you miss any data in the supported view which you want to display.

Selecting a DefRef definition in the tree will result in the following screen:

IDRF_ALIAS_ACTION allows to define different DefRef configuration based on action-type.

IDRF_ALIAS_ATTR:

The respective DefRef can be selected here. Normally no change is necessary as the default handling adds all necessary records.

IDRF_ALIAS_CONDITION:

Select the field which you want to add to this specific DefRef

IDRF_WHERE_CONDITION:

This field gives you many choice to link one view with another. The contens is dynamic and depends on the view which you have chosen for this DefRef

IDRF_CHECK:

This options give a preview of your current configuration. SQL-Error will be shown right away, so you don't need to re-init IFC* any more to see where an error has occurred in IDRF-settings.

Order of data:

The view can be sorted. Simply click on the header to sort by this column. The following example is first sorted by ReservationNumber and then by Lastname.

In order to apply your ordering to the database rights click "IDRF Check" and select:


How do I configure Double-Posting checking ?

The decision, if a posting record is re-sent by the vendor system is not a general business logic feature, but is a decision of the respective driver.

Double-Posting:

Three attributes are now used to define the double-posting check.

DoublePostingSize is now defaulting to "2" and is not allowed more then "5", as all records are now stored per POS-workstation.

Set to negative values if you want to enable logging only.

DoublePostingType: Defines if the vendor record should be parsed or if the XML should be used for the checking routines

DoublePostingFixAttr: Define an attribute here, which should be ignored during Double-Posting checks (typically: PostNum)

Prior to 8.5.4.4:

Following is a short description on the configuration for Micros and FIAS interfaces:

Micros:

The default value for the double-posting checks is "10".

This means that IFC8 will keep the last 10 records in it's memory and will check incoming records against that array. (Note: the array is global and not per workstation.)

Setting the value to "0" will disable doubleposting checking.

FIAS:

Functionality and configuration on FIAS works the same as on the Micros:

Incoming records will be compared 1:1 to each other to check for duplicates. If just 1 character is not matching a prior record then this is not considered a re-send any more.

However, please note that as a default the value is '0' for FIAS.

NOTE: It is NOT recommended to have doubleposting checking at higher values then '10', as IFC8 consumes extra memory for this functionality.


How do I configure EMS scheduler ?

The EMS Scheduler allows scheduling tasks for the EMS System for example activate the air condition prior to arrival or minutes after estimated check in time.

This feature is part of the Fidelio-Server. Fidelio-Server checks reservations of today for their arrival time. If no arrival time is set, then the default arrival time is used.

Note: This functionality is based on RoomEquipment with ClassofService. Only EMS systems which support this functionality can be used with the EMS scheduler.

The system mus be prepared to accept and process COS-changes for not-checked-in rooms.

Configuration:

Suite8 PMS- Configuration - Global Settings\Interfaces\Interface1

Enable the feature (tick “Use EMS Scheduler”)

Upon activating the EMS Scheduler you may see following pop-up:

A default check in time has to be configured under Global Settings → Reservation tab. The interface is notified of these tasks via Fidelio Server → Interface Notifier.

Then set the time in minutes the scheduler should send data to the EMS via IFC8:

Pre Active Time (min) Defines the pre active time in minutes (this is the time before arrival) for the scheduler

Past Active Time(min) Defines the past active time in minutes (this is the time after arrival) for the scheduler

If multiple interfaces are found with schemas which would allow using the EMS scheduler you must select the right Interface:

And last define the allowed status for the active period.

EMS Power ON is the status which the room gets before check-in time.

EMS Power OFF is the status after check-in time, if the guest has not arrived after defined check-in time.

EMS Power ON/OFF status values:

The values shown reflect the IFC ClassOfService value sent to the vendor using the RoomEquipment Schema_O command.

This command must therefore be supported by the vendor system.

<Schema name="RoomEquipmentSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="RoomEquipment" model="closed">

<AttributeType name="RoomNum"/>

<attribute type="RoomNum"/>

<AttributeType name="ClassofService"/>

<attribute type="ClassofService"/>

</ElementType>

</Schema>

If this is not provided by the vendor system, the EMS Scheduler cannot be used.

ClassOfService value 0 OFF/Check out state

ClassOfService value 1 Power Standby Past active Check-in time

ClassOfService value 2 Power Standby before check in

ClassOfService value 3 ON/Check in state

Do not forget to setup the Interface rights for the EMS IFC in the PMS configuration, else no records will be sent out to the vendor !!

Fidelio Server Configuration:

Start/open Fidelio Server and check DB Setup via OPTIONS / DB Setup

Enter the DB credentials and press NEW

Close this form.

Mark the Interface Notifier and press Start now

The Fidelio Server will now constantly check all reservations of the day for estimated check-in-time and will send RoomEquipment commands out to IFC8 at defined time in EMS Scheduler setup (Pre Active Time).

The same applies for arrivals which are not checked in after the defined time in EMS Scheduler setup (Past Active Time) e.g.: check in-time is set for 11:45 for room 413. Guest not arrived/checked in until 120 min after estimated checkin-time – Scheduler sends out command to vendor with Past check-in status (POWER OFF).

A properly working EMS Scheduler:


How do I configure Error text ?

IFC8 will provide a default text in ClearText in most cases. This text will always be in English.

In order to translate or modify a text, please configure IERR accordingly.

Logic:

  • Is a direct match on ActionType and AnswerStatus found in IERR will ClearText be overwritten with IERR_TXT_DEF

  • Is no direct match found will IFC not overwrite ClearText

  • Is ClearText empty or not existing will IFC overwrite using IERR

So, in order to overwrite a text as it is generated by IFC or received from a vendor system you need to define the Action-Name in IERR.

Just adding the AnswerStatus will not be sufficient. That record would only be used if no ClearText is within the record at all.


How do I configure Full Call Accounting ?

First please check that the functionality license for CAS is enabled.

Feature:

With Full Call Accounting you can calculate a price for a telephone call based on dialled number and length of call. (Date and time of call are not taken into consideration.) pricing is measured with units, where you can define the length of a unit in seconds for every dialled number.

ICTS_EXT_TYPE and ICTS_VIP are fully supported, so it is now possible to add Call Accounting for e.g. only R/B extensions and not H-Extensions or have different charge schemes based on the PMS-VIP-Code.

Set IDRV_CAS to '2'.

(Note: Combining PCA and CAS is not possible. If you want to assign a fixed amount to a certain number, then assign an unlimited unit-time for that number in ICTT.)

Functionality:

IFC will first try to find a match for the dialled number ("DialledDigits") in ICTS_CAS_DIAL.

A simple example:

NULL = default for all not defined DialPrefixes

0 = for all national calls

00 = for all international calls

001 = for all calls to the US

Once IFC finds a match, will it check ICTS_CAS_TYPE if this record is eligible for call accounting. (e.g. if ICTS_CAS_TYPE is set to "4" it will definitively take this record. If ICTS_CAS_TYPE is set to 1 but the incoming posting string has a valid value in TotalAmount, then will IFC take the TotalAmount from the posting record and will not do any call accounting.)

The next field which IFC checks is ICTS_GRACE_TIME. In here you can define the grace time of a call (= the time which should not be charged.)

ICTS_GRACE_TIME can have two different functionalities:

If the contained value is negative, then will IFC deduct the value from the length of the call (value is counted as seconds !!)

An example:

ICTS_GRACE_TIME = -30

Duration of the call is 00:00:20. IFC will now deduct 30 seconds. The call is now less (or equal!!) 0 seconds, so no charge will be generated.

Duration of the call is 00:01:12. IFC will now deduct 30 seconds and will generate a charge for a call with a length of 42 seconds.

ICTS_GRACE_TIME = 30

If the value in ICTS_GRACE_TIME is positive will IFC charge all calls, which are longer then the grace time. (In this case IFC would discard call up to 30 seconds and post any call of >=31 seconds.)

ICTS_CAS_TIME

In this field you define the length of a unit for this record in seconds. A typical entry would be 60 if you want to define prices per minute.

New as of 8.8.1.0:

In elder IFC8 versions a call which was short enough to be within the grace-time was just vanishing. As of this version these calls will be processed with Call-Time="0" and can be posted as a zero charge with corresponding setting in ICFG_ZERO_CHARGE.

Please also see: ICTS .

Ranges for international calls are built into IFC8s configuration and can be added with just a few mouse-clicks.

Setting up Full CAS:

Set IDRV_CAS to "2" to activate Full-CAS

ICTT configuration does not change compared to 'normal' unit based charging:

It is helpfull to overwriteICTT_LONGSDESC with a meaningful entry.

ICTS:

IFC8 will add a default record, at start duplicate this record, so that a default record exists, with no "CAS_PRFX".

This field contains the number which needs to be dialled to get an external line. (so in most cases a "0" or "9").

You will notice that IFC8 automatically transfers the contents into ICTS_CAS_DIAL.

There are two possibilities to add further lines now.

1. use the arrow-down-button:

2. (recommended)

Right-click and use the menu "Add CAS Rows", make sure that the cursor is positioned on the last existing record.

The following form will open:

DialNumStart defines the beginning of a group of records, which you may want to add.

DialNumStop is the last number which you want to add into this group of records - You want to add groups for all those dialled digits, which have the same costing attached.

In the above example all local call starting with "1" to "9" will be charged at the same rate, so they can be added together.

The "Prfx", UnitTime, GraceTime and CasType are taken over from the last existing record.

Select the extension-type for which these records should be entered:

IFC8 will now ad multiple records, while adding the "Prefix" to the configured "Dialed-Number":

Go on with national and international records (same pricing in the example, Note: this example does not work in the US, where "1" is the number for national calls):

Records for different countries can be easily set:

Once all desired records have been added highlight all records with the just configured ExtensionType:

The context-menue allows you to duplicate records and even to duplicate ranges::

Duplication:

just change the extension type, price (ICCT_ID) and hit apply:

result:

Alternating configurations:

if you want to try different configurations, you can set sections of ICTS to "Inactive":

and then add other records. You can set any range of records to active, e.g. with different grace times or tariffs .

Finally:

before finalizing the configuration you must check ICTS for duplicate records?

No record may show up in this screen:

Duplicate found:

Right-Click on the record which you wish to remove:

Different Charging Models:

A typical European approach is to assign a number of seconds to a "UNIT" and a specific cost per unit.

A small sample:

One unit has a price of 0.40 attached.

For local calls the length of a unit is e.g. 10 minutes.

For national calls the unit is only 2 minutes and for international calls the units lasts 20 seconds.

The other approach is to define the price per minute or second.

IFC8 will always cost the call by units - so in order to have a minute based charging, you need to set the length for a unit to 1 second and got from there:

This setup results in:

***************************************************************************************

Following is a short dataflow model for CallAccounting:

IF IDRV_CAS=0 then Exit

IF PostType="M" then Exit

IF DialedDigits="" then Exit

IF match found in ICTS with DialedDigits LIKE ICTS_CAS_DIAL AND ICTS_CAS_TYPE = 0 then Exit

ELSE

IF ICTS_CAS_TYPE=1 AND TotalAmount>0 then Exit

IF ICTS_CAS_TYPE=2 AND MeterPulse>0 then Exit

IF ICTS_CAS_TYPE=3 AND (TotalAmount>0 OR MeterPulse>0) then Exit

'Use CallAccounting:

IF IDRV_CAS=1 then

'If PartialCallAccounting, then get the TotalAmount directly from ICTS_PCAS_PRICE

TotalAmount=

ELSE

'If FullCallAccounting, calculate the TotalAmount via Duration/ICTS_CAS_TIME and ICTT_ID

-> "Run Full Call Accounting Rules"

END IF

END IF


How do I configure Error-Email ?

IFC8 can sent e-mails to a defined address in case of an error. As of version 8.7.4.1 SSL-connections in POP3 are supported.

To activate:

IFC8 offers 4 different choices

1. BLAT.Exe (2015: do not use any more, will not be developed any further)

Blat is a freeware client for POP3 based mails.

Current testings have been done using version 2.6.2 of BLAT.Exe which can be found on our FTP-server:

ftp.v8.myfidelio.com/IFC/IFC8/Utility/Tools/BLAT/blat_version2.6.2.zip

Alternatively please check: www.blat.net

New as of 8.7.4.1:

A specific port can be added to the configuration.

2. MS-CDO.Exe (Always use MS-CDO for new implementations)

SSL encryption is only available with MS-CDO

What is "Microsoft Collaboration Data Objects"?

Please read:

http://en.wikipedia.org/wiki/Collaboration_Data_Objects

If necessary CDO can be downloaded here:

http://www.microsoft.com/download/en/details.aspx?id=3671

In most cases you do NOT need to install CDO, as it is part of Office and other Microsoft tools and will be on 90% of all machines, mostly even without Office being installed. IFC8 will tell you, if it cannot find the component when you try to use it.

Google-Mail:

smtp.googlemail.com is now working anymore.

smtp;gmail.com is working, however by default this server requires a TLS connection and TLS is not supported by MS-CDO.

Before using a gmail account you need to logon and change the account setting under:

https://www.google.com/settings/security/lesssecureapps

and enable "Access for less secure apps" :

3. OUTLOOK (2015: do not use any more, will not be developed any further)

This required a configured Outlook installation on the IFC-PC.

NOTE: Only one profile may be used, as IFC8 could not choose a profile.

4. BATCHJOB

IFC8 will executed a defined batch-job in case of an error.

Blat.Exe:

Upon selecting BLAT the following error will appear:

Hit RETRY and fill in the following:

NOTE: BLAT requires the above settings to be added to the registry. IFC8 will do this for you.

After Re-Init the following configuration is now available:

Please carefully select "Subject" and "Sender" to avoid that the error messages are caught in Junk-Email-Filters.

We have seen multiple occasions where 'funny' settings will result in lost messages.

EMailTest

This feature can be used to test your settings.

Pressing the button will open the following screen:

Enter the target mail address to which the test-message should be sent.

A positive result will look like:

EMailZipLog

This feature can be used to zip logfiles before they are attached to an error-email.

pressing the button will ask you to select WinRar or WinZip executable to define the path for IFC8.

NOTE: Some versions of WinZIp and/or WinRar have problems to zip files which are in directories, where blanks are in the directory names. Ensure that you test this properly and possibly change your directory structure.

Tested versions: WinZip 8.1 SR-1, WinRAR version 2.90

Further more are all registered errors within IFC8. here you can select for each and every error if IFC8 should send a mail or not, if the error occurs.

Selecting an option will show the following pull-down-menu:

4 Options:

1. = do not send email

2. = send email

3. = send email and add the logfile of the object where the error occurred

4. = send email and add the logfile of the object where the error occurred, but compress logfile before attaching

Outlook

You do not need to configure a username or password for Outlook mail:

as this is already done within the actual outlook installation.

Else there is no difference to the configuration as described above for BLAT.

Batch Job:

For batches the configuration is a bit different:

or:

For each error you can define a batch.job which should be executed.

In order to pass variables to the batch job, you can define them in the configuration. However, note that all parameters need to be set after the actual batch and BEFORE the pipe-sign followed by the logfile definition.

The logfile definition can be considered an additional parameter which you can use in your batch job.

It is recommended to use this parameter and not link to logfiles directly, as IFC8 knows the current valid logfile-name and location. IFC8 will additionally save the logfile before passing it to the parameter, to ensure that the occurred error is contained.

NOTE: The path to the batch-job may NOT contain spaces. Else IFC8 has no chance to see where the parameter lists starts.

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Testing, if the IFC-PC has a working connection to the chosen SMTP server:

Telnet Test for SMTP connection

1. Go to Start/Control Panel/Programs&Fetaures and then select "Turn WIndows feature on/off"

2. Activate "TelNet Client"

3. Open a command prompt

4. Enter "telnet smtp.gmail.com 465" (If you use Outlook 2007, enter "telnet smtp.gmail.com 587" instead)

Result:

and then:

just a blinking cursor. This is the sign for a successful connection.


How do I setup IFC User in PMS Config

With IFC8.8.4.0 it is mandatory to link PMS IFC users to each IFC confguration (see release notes).

IFC user will be created and configured in PMS config - Users - User definition.

create a new user and mark the Property Interface User only box.

then go to PMS Configuration - Global Settings - Interfaces - 1 Interface (IFC8)

under section Configuration of Interface Users

you allocate the defined IFC user to an Interface.

Press NEW:

on the bottom of the form you can choose the Interface (once available in ICFG)

you also can choose the IFC User as setup above.

Note: IFC User is only in this list when marked as Property Interface User only !!!

Press OK

the new ifc user is listed now:

in IFC DB Config go to ICFG

related field is shown empty or with another invalid value.

choose the correct user from the pick box


How do I configure Interfaces on Fidelio WebSuite ?

December 2013: IFCs on Fidelio Websuite are NOT released and currently ONLY Micros-POS is supported for testing; please check with your regional IFC-Product manager about further details.

The following drawing outlines the dataflow in a FidelioWebsuite environment, where no tunnel exists between the datahosting network and the Hotel network:

The key to this dataflow model is a new IFC-Webservice, which is resident in the datacenter.

The IFC8 setup itself is very simple. In the datacenter:

The IFC8 at the Hotel would look like this:

The IFC-object connects to the vendor-system using the known methods, no change here.

The PMS Object is configured with FKT=XML.

The "Master-"IFC8 at the datacenter would look like:

The IFC object is configured with XML

The PMS object is configure with "SERV" like with any other Suite8 installation.

The trick in the connection is the webservice in the middle.

No IFC-installer needs to install or configure this webservice. This is done by development or your regional IFC-team. By Default the Webservice listens on port "5001" for the datacenter IFC8 to connect.

This TCP-port is created as an "indexed-port" and allows multiple IFC8 to connect to the same port.

The interface in the Hotel connects to the webservice through "HTTPs" as communication layer.

Like on the TCP-port side the IFC-webservice can connect multiple outside IFCs on the same URL. The IFC-Webservice does NOT do any modification to ANY record at any time.

All it does is to channel records from one interface to another using secure HTTPs communication over the internet. (Sensitive data is encrypted with DES3 on top of this secure communication).

Configuration:

The IFC-Webservice needs to link an internal and an external IFC together. This needs to be configured accordingly in IFC8.

Hotel-Side:

as IFC8 is now communicating over the internet we need to take additional security measures.

The actual communication is encrypted by using HTTPs. Sensitive data is additionally encrypted using dynamic Rsa/DES3 methods (these are always in place for PA-DSS compliance, regardless of the communication layer.) However a third method has been introduced: Authentication. The new IFC-Webservice authenticates an incoming interface request and will ignore all requests with invalid credentials.

NOTE: there will NOT be any error on the interface side, you can only see that the connect is not happening.

The Ifc-Webservice logs will show the error.

Adding an Authentication-Key:

The key needs to be generated on the Hotelside:

PMS-Object\Applictaion-Layer\XML\IfcAuthKey

The dropdownbox will issue a new key for you automatically. The key itself is encrypted by a method which is only know to IFC8. so you cannot actually get your hands on the key.

Select the key and press "Apply"

IfcCryptMeth is now coming up.

The default method is RsaDes3, but that is exaggerated for authentication, as this encryption costs a lot of performance. Change the value to "Base64_0"

The contents of IfcAuthkey needs to be transferred to the datacenter, as you need to have this ready for IfcWebservice and IFC8 configuration in the hosted environment.

Before we now move on at the Hotel, we first configure the datacenter components:

Datacenter side:

The physical layer needs to be set to "TCP/C" and Protocol-Layer="N":

That will enable a new configuration attribute "SohId" (Start-of-Header-ID):

The logic is very simple: the HTTP request-header from the Hotel-interface will contain a stringvalue which the datacenter IFC needs to carry as well.

Development recommends to construct this value as follows:

"<Hotel-Name>_<FKT-Logo>"

or alternatively as:

"<Hotel-Name>_<ICFG_ID>_<FKT-Logo>"

Note: the value needs to be UNIQUE over all Interfaces in the datacenter.

This value can be seen in all logfiles and will make support much easier, if it is standardized.

Authentication:

The authentication-key which has been generated by the Hotel-side-IFC8 now needs to be added to the datacenter IFC8:

And on top of that it needs to be added to the Webservice, the key is decrypted and checked in all three components.

The Webservice configuration is normally under:

or

the file you are looking for is called Web.Config:

Edit Web.Config (make a copy before as backup) and look for the following entry:

<add key="ConfFlieName" value="C:\Fidelio\IfcWebService\IfcWebConfig.Xml" />

normally this does not need to be modified. The key defines where the actual configuration file is located.

now got to C:\Fidelio\IfcWebService and look for "IfcWebConfig.Xml"

The empty file looks like:

Add a new line, you need to overwrite Hotelname, FKT-Logo and Authkey wit the desired values.

When you save the config file the changes will be taken over by the webservice without any further restart.

Hotel-Interface:

As said above, the IFC8 in the Hotel needs to communicate to the webservice using HTTP:

The Physial Layer is set to "HTTP"

Port contains the URL to the IFC-webservice starting with HTTPs

Param need to be set to "POST"

The HTTP-subnode looks like this:

RequestHeader, RequestHeader_Conn and RequestHeader_Poll need to be edited as follows.

When starting a new IFC the nodes look like:

RequestHeader = "Action-Type","SendDataRequest"|"DestAddr","[SohId]"

RequestHeader_Conn = "Action-Type","ConnetRequest"|"DestAddr","[SohId]"|"IfcAuthKey","<IfcAuthKey>"

RequestHeader_Poll = "Action-Type","ReceiveDataRequest"|"DestAddr","[SohId]"

[SohID] needs to be replaced with the value as you already defined in the Datacenter Interface (in this case: HOTEL1_M87)

This is what a configuration would look like:

RequestHeader = "Action-Type","SendDataRequest"|"DestAddr","HOTEL1_M87"

RequestHeader_Conn = "Action-Type","ConnetRequest"|"DestAddr","HOTEL1_M87"|"IfcAuthKey","<IfcAuthKey>"

RequestHeader_Poll = "Action-Type","ReceiveDataRequest"|"DestAddr","HOTEL1_M87"

Where the "Hotel1_M87" from this example equals the string as you have entered it on the datacenter-IFC8. The IFC-Webservice will check this string and will combine the two IFC8 sessions, which connect to each other using the identical string.

Remember: The AuthKey needs to be copied to four different places in order to get the communication working.

No further special configuration is necessary when installing IFC8 with Fidelio WebSuite.

Web-Logfiles:

IFC.Net and IfcWeb support logfiles, which can be read through Internet Explorer

If you open a logfiles and it looks like this:

Then you need to disable "Compatibility View for local Intranet Sites"

Take out the tick from "Display intranet sites in Compatibility view"

Logfiles an IP-Adresses:

There is a small but important difference in the IP - Addresses.

IFC-Web can find out of a message comes through a load-balancer - and find the "Forwarded-For-IP" of the original sender.

  • If an IP is marked with "→" then the following IP is the one of the loadbalancer.

  • If an IP is marked with "⇒" then the following IP is the one of the external sender.


How do I configure Language Code Translation ?

First it is important to understand, that languages are translated twice in V8.

Languages are user-definable in V8 Front Office, so the first translation is from the PMS language to the interface language.

First you need to translate the PMS languages in ILAN to the allowed IFC languages:

Interface languages:

Language code (hardcoded !!!) | Meaning
EA | English/American
FR | French
GE | German
IT | Italian
JA | Japanese
SP | Spanish

These language codes will then be passed on to the respective parser, where the vendor's language code is translated in the Ifc8Config.XML.

(Please check each interface's specific Ifc8Config.Xml configuration, to see if language code translation is possible/necessary.)


How do I handle Layer2 changes ?

A few general comments on how we define the defaults for M87POS and FIAS:

The default physical layer for these drivers is “TCP” – however there are instances where you want to install with RS232 connection.

And then many of you will have experienced the situation, where the PROT settings are not changed when the COMM settings are adopted.

FIAS TCP:

The above is the correct setting for TCP connections.

However, when you change the Comm-layer to “COM” then the Protocol Layer is not changed. This behavior is intended. We had to define an internal business rule for cases where we change values – and for the cases where we do not change them.

Once the Comm-Layer is changed, this does not necessarily mean that you really want to adopt the Layer2. And: IFC can not see if the current Layer2 value was accidentally chosen – or willingly.

Subsequently we have defined that changes to the Comm-Layer will not affect the PROT-definitions and that these need to be changed manually to match the desired values.

FIAS Full Duplex:

(Layer2 can be set to “STD” too for Full Duplex behavior of FIAS)

FIAS Half-Duplex:

NOTE:

Always remember that all child-attributes will be defaulted once a main attribute is changed. -> So always change Layer2 and apply before changing CheckSum, as it will be overwritten with “N” anyway once the Layer2-change is applied.

Micros – TCP:

Micros – RS232:

TCP in general:

5003/TCP

FileMaker Filemaker Pro

5004/UDP

RTP Real-time Transport Protocol

5005/UDP

RTP Real-time Transport Protocol

5050/TCP

Yahoo! Messenger Yahoo! Messenger

5051/TCP

ita-agent Symantec Intruder Alert

5060/TCP

Session Initiation Protocol (SIP)

5060/UDP

Session Initiation Protocol (SIP)

5061/TCP

Session Initiation Protocol (SIP) over Transport Layer Security (TLS)

5093/UDP

SPSS License Administrator (SPSS)

In order to avoid having your IFC-traffic being blocked in a firewall (accidentally) please try to avoid using any of the above mentioned ports.


How do I configure Logfiles ?

IfcBusi.Dll Logfiles:

Logfiles and further debug functionalities for the Busi-Dll can be activated by writing a corresponding value to IDRV_FEATURES for the respective interface:

The value is a combination of the following:

Value | Meaning
Busi_ | Mandatory prefix. IfcBusi.Dll will only read values which start with this prefix
EvtOff | deactivate DoEvents in Winsock
WaitS | wait for idle status before sending any message via WinSock
LogOn | write Logfile to HDD
Mess1 / Mess2 / Mess3 | Loglevels

Example:

"Busi_LogOn_Mess2"

Operating System information in IFC8 logfiles:

An example:

[01.22/11:53:18] <MessLvl2> PMS1 [WinOs:WinXP, Service Pack 3 / Ifc8 V6.0.4001 / IfcAction V6.0.0 / IfcBusi V6.0.0] "SERV - Fidelio IFC8 BusinessLogic" started via "C:\Documents and Settings\FVorwerk\Desktop\QA_85\3_Ifc8SrvToGAS.XML"

The above example is from an IFC-installation on Windows XP: WinOs:WinXP, Service Pack 3

The system APIs on XP allow a unique identification. However, this will NOT be the case on Windows VISTA:

[01.27/12:22:05] <MessLvl2> PMS1 [WinOs:Windows Server 2008 or Vista, Service Pack 1 / Ifc8 V6.0.4 / IfcAction V6.0.5 / IfcBusi V6.0.5] "SERV - Fidelio IFC8 BusinessLogic" started via "C:\Fidelio\IFC8\M87\m87.xml"

The kernel information of VISTA and Server 2008 are identical, which makes it impossible for IFC8 to identify on which OS it is running.

Furthermore: First tests on BETA versions of Window7 have shown, that the OS information between VISTA and Windows7 does not change, so potentially a future line in the logfile may look like: [WinOs:Windows Server 2008 or Vista, Service Pack 1 or Windows 7/]

LogfileTypes:

As of IFC8 version 8.6.0.7 it is possible to write logfiles as "TXT". Micros-Fidelio recommends to use the RTF option. TXT has been added for installations with enormous amounts of IFC8 on one machine (typically in a datacenter) where the CPU load during startup can be critical.

IFC8 will NOT read any old data into it's memory anymore, when Logfiletype=TXT is selected. Existing logfiles will be opened in 'append-mode', and new data is added where the last entry ended.

The option to save logfile names e.g. including day/hour is not available with logfiles as TXT, as the idea becomes obsolete.

IFC8 will write the logfile until it's configured maximum length. Once the length is reached will IFC8 make a copy of the file with the extension "_DD" (->Day).

After that a NEW logfile is started.

With the above concept logfiles will still be overwritten monthly and the needed size on the harddrive will not increase like it did with IFC7.


How do I configure messages ?

Messages are configured in ICFG_CMD_MSG.

Value | Meaning | Necessary License
0 | No messages supported | None
1 | Messagelight | IFC Check In/Out
2 | TextMessages | IFC Text Message Handling
4 | VoicemailNotification | IFC Voicemail Handling

The values can be added in case several functionalities should be enabled.

(e.g. for a Spectradyne Clone, which uses messagenotification ("1") and textmessages ("2") the value should be set to "3".)

The configuration is rather straight forward.

For all interfaces, which support messagelights and/or messagenotification set the first bit. ("1"). This would typically be PBX interfaces and TV-systems which use notifications like the Spectradynes (GAS, TGL, VIS etc)).

Interfaces which support messagetext need the second bit set. These are typically all TV systems. (e.g. Prodac (PPC) expects the message right when it is entered, so here you would set "2")

Systems which send voicemail notifications to the interface need the third bit set ("4"). Please check carefully, if the system handles the messagelights internally or need additional records from the Interface. Only a few systems would really need records from us, so do intensive testings, when setting the total value to "5" ("4"+"1").

NOTE:

IRMS_AL_ML is not only used for messagelight but for messages in general. When you want an extension to receive textmessages (=Video-IFC) then the extension must have corresponding rights. (e.g. IRMS_AL_ML="5")


How do I configure my Name-Display ?

In IFC8 there is no more a global setting like it used to be in IFC7.

The attribute "GuestFormattedName" can be changed in IDRF to include guestinformation in any order.

Note:

There is NO limitation in terms of lengths of a definition. The actual length is defined in the parser. Thus a string defined in IDRF might be cut within the parser, before it get's sent to the vendor system.

Additionally check IDRF-Setup- Documentation.


How do I configure NoPost handling ?

Before starting the configuration, it needs to be understood, what "NoPost-handling" really is.

NoPost is NOT something, which changes a right or the status of an extension. NoPost is a flag which can be set in the PMS as part of a reservation. The value of this flag can only be "true" or "false". Setting this flag will not initiate any interface functionality.

Each interface needs to be configured individually to honor the NoPost flag.

1. POS interfaces:

If activated for POS interfaces the following functionality will be enabled:

  • Postings to guests where NoPost is not set stay untouched

  • Postings to guests where NoPost is set will be denied

2. All other interfaces (i.e. drivers which support Check-In)

It needs to be understood what a check-in really means: A GuestIn action itself does NOT do any right-change to an extension. It just signals that anew guest has arrived and may send the name too. A COS change will only be done, if the corresponding attribute is in the schema.

Activating NoPost handing for such a driver will result in a barred extension after the check-in. The interface will do this as follows:

  • If exist COS-atribute in GuestdataChange, send Guestdatachange

  • If exist COS-atribute in RoomEquipment, send RoomEquipment

  • Else send GuestOut

So this can result in 2 unexpected scenarios:

1. IFC sends a GuestIn and right after a GuestOut.

This would happen, if there is no other way to block the extension, but sending a GuestOut. This would be the case for very simple telephone systems which do not support proper ClassofService handling.

2. IFC sends a GuertIn record, but no RoomEquipment

This would be the case for many FIAS drivers, where CS is in RE.

Background-understanding : Before the check-in the extension is barred. Sending a GuestIn record will not change the ClassofService-value. During a 'normal' check-in an RoomEquipment with ClassofService="3" would now be sent to open the extension. During a check-in process where NoPost is honored no change needs to be done to this extension, as it is and stays barred. Subsequently no RE is generated.

Some FIAS based systems have problems with this logic and need the RoomEquipment with CS=0 to keep the extension barred. In order to have such functionality, you need to configure ICFG_CMD_CHK accordingly:

With this feature activated you will see IFC8 sending an RoomEquipment with ClassofService=0 after the GuestIn record.


How do I configure Partial Call Accounting ?

First please check that the functionality license for PCA is enabled.

Feature:

With partial Call Accounting you can define a fixed amount for a telephone call by dialled number. There is no limitation of the length of the dialled number in the configuration.

Set IDRV_CAS to '1'.

(Note: Combining PCA and CAS is not possible. If you want to assign a fixed amount but want to use CAS, then assign an unlimited unit-time for that number.)

The add the required record to ICTS:

When PCA is active will IFC check ICTS_CAS_DIAL and will compare it with the contents of the "DialedDigits" from the incoming posting. If no match is found, IFC will continue with a standard posting.

In case a match is found will IFC continue to check ICTS_CAS_TYPE.

This field is used to define under which condition Call Accounting shpould be used for this number:

0/NULL = do not calculate with CallAccounting

1 = calculate with CallAccounting if TotalAmount=0

2 = calculate with CallAccounting if Units(MeterPulse)=0

3 = calculate with CallAccounting if TotalAmount=0 AND Units(MeterPulse)=0

4 = calculate always with CallAccounting

If based on this filter the number is eligible for Call accounting will IFC use the value from ICTS_PCAS_PRICE as TotalAmount for this posting.

Example setup:


How do I configure the Physical Layer ?

I case the IFC-PC has two (or more) IP adresses it is posisble to force using a spific address for IMSQ:


How do I configure prefixes for reservations and messages ?

Configuration is done in IDRV using the prefix fields.

Always use IFC8's configuration form to configure these fields:

Just select the amount of digits which the vendor protocol can support - and define if IFC8 ruins in multi-PMS mode or not.

Do NOT change the entries in these fields after installation (or activation) time. IFC will update and handle the entries dynamically.


How do I configure Printing in general?

IFC8 is capable of doing printouts to any printer which is configured on the IFC-PC.

Note: the printers need to be ready installed on the machine before IFC8-printing is configured. It is recommended to not use Network-Server attached printers but install the drivers locally, so that IFC8 can properly read the abilities of the respective printer.

Printing is normally used for EMV-based EFT systems where EFT-receipts are passed on from the EFT system.

Note: IFC8 connects the printers through their respective index, which is assigned by the OS. The index is re-assigned when a new printer is added or when a printer is deleted. Subsequently all IFC8-printer configuration needs to be redone from scratch when a printer is added or deleted.

(Sending EFT receipts to the PMS: newer PMS version are capable or storing/printing receipts. IFC8 will check if PrinterName is set to "0" (=no printing active) to pass receiptdata on to the PMS. If a default printer is installed then all printing will be done by IFC8.)

Setup:

The above shows the default setup as IFC8 wll add it for every IFC8Config.Xml. For most installations printing is not used, so no changes would be necessary.

"PrinterName" defines if printing should be used or not. In here you can enter the default printer for this interface.

IFC8 reads all available printers from the machine and displays them in the dropdownbox.

Select a printer and then press "Apply".

After applying the other options for this specific printer are available:

The available choices depend on the selected printer and on the installed driver.

Priniting in dependency of WsNum:

IFC8 will add another entry for the IFC-PC by default:

Here you can link all print-commands for this specific workstation to the default printer (i.e. no changes necessary) or select a different printer.

This functionality is necessary if EFT-receipts should be printed to different printers in relation to the PMS-workstation from which the command originated.

Printing on the workstation itself:

As of version 8.5.3.0 Ifc8 can pass (encrypted) EFT-receipts over to IFcBusi.Dll for printout on the local workstation.

The advantage of doing this is, that a receipt can be re-printed in case of printer error. Anything printed from IFC8 directly can not be reprinted.

(Storing any receipt is currently not possible).

All IfcBusi-DLLs will create a record in IPRN once started. (Records will be updated based on Timestamps etc, existing print-configuration would not be overwriten.)

To create printer logic for this workstation, select the target workstation from IPRM_PMS_WS .

If you want to create different logic based on ActionType you can select a value in IPRN_ACT_TYPE - or leave <blank> as default for all actions:

Select the desired printer from IPRN_PRN_IDX (i.e. PrinterIndex):

IPRN_TRAY will have the values in the drop-down-box which relate to the printer you have just choosen in IPRN_PRN_IDX:

Framing options are available in IPRN_FRM (Note: the actual receipts can not be changed or formatted as it is a bank-requirement to print them exactly as they are passed on from the EFT-System. If the receipts don't look nice this need to be discussed with the respective vendor.)

IPRN_PAGE_SIZE only needs to be set for Slip-Printers:

On normal A4-printers this option will not be available.

Once the setup has been finalized you need to restart V8 on the respective workstation so that your configuration becomes active. IfcBusi will now use this printer definition to print EFT-Receipts.

Reprint of Receipts:

Reprinting is available from the IfcBusi menu of the respective interface. The last three received print-action are kept in memory and can be reprinted through this menu. Once V8 is closed, reprint of elder receipts is not possible any more.

Printing of ClearText from RoomEquipment (FIAS):

FIAS has the ability for vendor systems to send us data which should go to a defined printer.

In IFC7 the value for the attribute PrinterPort (PP) had to be a 1-4, which was relating to the record in IFC_PRN.DBF.

This functionality is not available in this way in IFC8 as the logic was going around "LPT" definitions.

FIAS specification will be changed for version >=2.12 to reflect that PP should be set to "0" as the configuration should from now on only be done in IFC8. Relating to a specific Printer-Index is however still possible. (Values 1-7. The values will be read BIT-oriented, however with numeric values 1-7 this can be filled as number too with the same result. Other numbers are possible too to set further BITs to remotely set the formatting. This will be documented at a later stage.)

Network Printers:

IFC8 connects to all installed printers through the respective printer index. On Windows XP we have not seen any timing issues.

However on Windows 2003 Server it can happen that the log-on process is over before all attached network printers have been found.

In that case it should first be reviewed why the machine is regularly re-booted - and the cause for this should be eliminated.

Another choice is to change the OS settings to "wait for network during log-on". Activating that option will ensure that all printers have the same index after every reboot. Downside is that the log-on process can become painfully slow, depending on the respective network.


How do I configure RoomStatus changes ?

Roomstatus until V8 version 8.3:

Rommstatus is defined in YHKS.

YHKS.YHKS_IFC_STATUS must be filled with the value, which IFC retrieves from the vendor system.

The value MUST be numeric.

e.g.

Column Name | Value
YHKS_ID | 1
YHKS_SHORTDESC | CL
YHKS_LONGDESC | Clean
YHKS_DISPLORDER | 1
YHKS_CLEAN | 1
YHKS_WCOL_ID | 1
YHKS_IFC_STATUS | 1


How do I configure Simulation mode?

In case you need to use IFC8 to simulate a vendor system for PMS testing, this can be done very easily:

Start IFC8 with FKT-Logo="SIM"

however, with FKT=SIM, IFC8 will start with a default set of schemas, which cannot really be used for sensible testing:

In order to use sensible schemas these can be added to the Ifc8Config.Xml very easily:

Press InLineSchemaConfig and the following form will open:

Select the FKT-Logo based on which you want to build your schemas:

or type in the FKT which you want to use:

IFC8 will automatically populate the form with the desired schemas.

Now hit "OK" and this form will show:

Activate InLine Schemas:

save the configuration and re-initialize the interface.

Now you have thye desired schema set:

And if you want to add or remove a specific attribute now, you can easily do this by editing the Config.Xl:

Finally:

do not forget to insert default Simulation-Attributes:

IFC will populate automatic responses based on attributes from a request (e.g. WsNum, Sequence-numbers etc) and will take all others from the SimMode Attributes.

"Edit Pop-Up":

This functionality can be enabled, if IFC8 should not send automatic responses, but should pop-up a window with the response, so that you can e.g. change the value of AnswerStat before passing the response back to PMS.


How do I configure the Supplement field ?

Suite 8 has two supplement fields (V6/7/OPERA have one).

Contents are written to the ZPOS-Table.

When looking for postings in ZPOS, the easiest way to locate the, is to look for the ID in IHST_POST_ID. Any successful posting is answered by the FidelioPosting.DLL with the ZPOS_ID of the respective posting, which IFC8 in return will write to IHST_POST_ID.

Note: All postings are broken into net and tax resulting in two records in ZPOS. IHST will only have one record with the total amount posted.

Supplement fields are:

ZPOS_COMMENT

and

ZPOS_PHONENR

Where ZPOS_PHONENR is reserved for dialled digits and should not necessarily be used for other purposes.

ZPOS_COMMENT may be filled with any desired value, up to 30 characters.

For global understanding: ANY (!!!) Information, which is available for the respective interface, may be written to the supplement field with any prefix, which will allow .language specific prefixes now.

The supplement information may be configured by PostingType as well, so from a PBX Interface different supplement can be configured for Phone and Minibar-charges.

Definition of the supplement info can be configured in ISUP.

NOTE:

The attribute "Duration" has the format "HHMMSS", if you want to have it as format "HH:MM:SS", then use alias: "Formatted_Duration".

Defaults:

IFC8 will try to fill the Supplement Fields with defaults, if nothing is configured:

SUP will be filled with the contents of ClearText, if this attribute exists. If not will IFC8 fill this with DialledDigits, if this attribute exists

TEL will be filled with DialledDigits, if this attribute exists.

If you don't want IFC8 to fill one of the field you need to just configure a <blank> as value for the field.


How do I configure Track2 for Key-Interfaces ?

Main definition is done in IDRV_TR2_NUM.

Here you configure if and which kind of Track2 data should be used.

Should you not use the standard Fidelio 16 digits, then you need to configure your Track2 in IDRF.

Please check your respective Interface, as we will add insert scripts for the IDRF, should this be necessary for the driver.

As of Interface version 8.2.3.0 it is possible to configure the minimum length of a incoming track2 string for POS interfaces.

This may be necessary if a Hotel uses cards with shorter tracks then the standard 16 digits:

This configuration can of course not be selected when "Standard 16 digits" is selected.

Configuration for a Track2, defined in IDRF, where each key gets a unique value (sequence-number)

Example for KeyRequest & PostSimple with Track2Format=PathId[1]|SeqNum[1]|RoomNum[6]|ResNum[8]

For the POS-Interface

PostSimple by Track2 (get an already created Track2-Info):

IDRF_VIEW_NAME='V8_IFC_CARD'

IDRF_CONDITION='DECODE(ICRD_ANSWERSTAT,'OK',ICRD_TRACK2,NULL) Track2 WHERE ICFG_ID(+)=4 AND YRES_ID(+)=RESERVATIONNUMBER AND XCMS_ID(+)=GUESTNUMBER AND ICRD_ACTIVE(+)=1'

For the DLS interface:

KeyRequest.Track2 (build a new Track2-Info with KeyRequest.Track2=PathId[1]|SeqNum[1]|RoomNum[6]|ResNum[8]):

IDRF_VIEW_NAME= V8_IFC_CARD

IDRF_CONDITION= DECODE(ROOMNUMBER,NULL,NULL,'1'||DECODE(ICRD_SEQ_NUM,NULL,0,SUBSTR(LPAD(ICRD_SEQ_NUM+1,3,'0'),-1,1))||SUBSTR(LPAD(ROOMNUMBER,30,'0'),-6,6)||SUBSTR(LPAD(RESERVATIONNUMBER,30,'0'),-8,8)) KeyRequest_Track2

Where condition: WHERE ICFG_ID(+)=4 AND YRES_ID(+)=RESERVATIONNUMBER AND ICRD_ACTIVE(+)=1 AND NVL(ICRD_SEQ_NUM,0)=NVL((SELECT MAX(MAX_SEQ.ICRD_SEQ_NUM) FROM V8_IFC_CARD MAX_SEQ WHERE MAX_SEQ.ICFG_ID=ICFG_ID AND MAX_SEQ.YRES_ID=RESERVATIONNUMBER AND MAX_SEQ.ICRD_ACTIVE=1),0)'


How do I configure Voicemailfeatures?

Voicemail is configured at two different places:

1. PBX/Voicemail Interface

Configure is incoming voicemail notifications (RoomEquipment with VoiceMail attribute) should be honored. This is done in ICFG:

2. Video Interface

Configure if the respective IFC should get a voicemail notification:

Example for a Message-Light system:

Example for a Pay-TV system which supports direct message-text sending (e.g.PPC):

NOTE: Some Video-Systems allow message sending, but actually just need the notification. (This applies to most spectradynes.)


How do I configure Voucher-Posting?

Voucher-Posting is only possible with Suite8. Minimum versions:

PMS: 8.9.0.4

IFC8: 8.7.4.0

Micros 3700 ISLs: 5.01

Understanding vouchers:

Voucher is the Suite8 terminology for (gift) certificates or coupons - or however you might want to call it. The functionality is rather straight forward. A certain amount has been paid for a voucher and the corresponding payment is linked to the voucher-number in the PMS now.

A specific payment method is setup on the Micros for voucher-redemption.

This payment method must be setup as Cash&Creditcard method with a linked paymaster. Autobalancing must NOT be enabled for this payment method. When redeeming a voucher the PMS-routines will automatically post the payment to the target paymaster so that the balance on this paymaster will always be zero.

The waiter will enter the voucher-number and a posting request is passed on to the interface (no inquiry). The voucher verification and redemption will be processed automatically. A corresponding error will be returned if the voucher was not found or if the remaining balance is not sufficient.

Postings on the paymaster will look like:

Check-Details are available with voucher-postings:

Setup:

  • ONLY Value-voucher can be used on a POS

  • 'Partial Redemption Allowed' must be ticket for POS-vouchers

  • Carefully setup number templates, voucher-numbers are case sensitive and need to be entered exactly on the POS


How do I configure Wakeup Calls ?

Configuration of wake-up calls has been simplified a lot in comparison to IFC7.

Wakeups are stored in IWKC. IFC will delete all records from IWKC which are more then 2 days old during nightaudit.

Base configuration is done in ICFG_CMD_WAK:

0 = Wakeup inactive / not supported

1 = Wakeup handled on IFC side

2 = Wakeup handled on vendor side

Note: It is ALWAYS recommended to keep the wake-up handling within IFC8. Functionality like moving wake-ups during room-move or deleting active wake-ups upon C/O are ONLY supported, when wake-ups are handled by IFC8.

Specific configuration is done in IDRV_WAK_RETNUM and IDRV_WAK_RETTIME.

The interface will always look at these fields in a combination. The retry-time is always multiplied with the number of retries to get the final time, which IFC will use to execute the wakeup or the time which IFC will wait for a response from the vendor system.

  1. Wake-up is handled on the vendor system:

Set ICFG_CMD_WAK to '2'.

It is assumed that the vendor will handle not only the wakeups as such but all retries as well so set IDRV_WAKE_RETNUM to '0'.

IDRV_WAK_RETTIME is now used as the timeout, which IFC will wait for the response from the vendor. This setting is specific to the vendor system. Please recheck with the vendor technician how much time he needs maximum to send a response.

Note:

It is assumed that the vendor will only send ONE response for the wakeup and not one after each of his retries. If the vendor sends multiple result records IFC8 will create multiple records in IWKC, as IFC8 cannot see if a result refers to an existing or a new wakeup call.

An example:

The vendor will do 3 retries with a gap of 3 minutes in between, so set IDRV_WAKE_RETTIME to '600', so that IFC will wait for a total of 10 minutes for the response.

1st wakeup at 8:00

2nd wakeup at 8:03

3rd wakeup at 8:06

4th wakeup at 8:09

IFC has the wakeuptime stored at 8:00 and will wait until 8:10 for a reply until it automatically sets the wakeup to "unsuccessfull - no reply" and fires the event which triggers the Pop-Ups in the PMS.

Another example:

The vendor does not support any retries. In that case set IDRV_WAKE_RETTIME to '120'. That should allow for time-differences between the PBX and the IFC-PC.

So: IDRV_WAKE_RETTIME is the time which IFC will wait for a response from the vendor system. This can be defined as a simple formular:

([RETNUM] + 1) * [RETTIME] + [Vendor's time to process wakeup] = "WakeupStop"

'WakeupStop' is the final time by which a wakeup is processed. If by that time no result has been received, then it will be marked as "unsuccessful".

  2. Wake-up is handled by IFC8

Set ICFG_CMD_WAK to '1'.

In IDRV_WAKE_RETNUM you can define how many times the interface should retry to process the wakeup, if an unsuccessful response or no response was received.

IDRV_WAKE_RETTIME is the time in seconds between the retries.

An example:

IDRV_WAKE_RETNUM = '3'

IDRV_WAKE_RETTIME = '180'

Wakeup call is entered for 8:00.

IFC will now send the first request at 8:00.

1st retry at 8:03

2nd retry at 8:06

3rd retry at 8:09

After the 3rd retry will IFC wait another 180 seconds for a response until it finally times out and marks the wakeup as unsuccessful in IWKC and fires the event. (8:12)

IFC will stop retrying as soon as a positive response has been received from the vendor.

Should IFC get a negative response (e.g. "busy") will it keep on retrying.

Note: With setting retries to '3' this means that the IFC may send a total of 4 request !!

Formular to define the time frame until IFC times out for a respective wakeupcall :

([RETNUM] + 1) * [RETTIME] = "WakeupStop"

Sending wakeups prior to wakeup-time:

A negative value signals internal wakeup handling - and the actual value is the timeframe in seconds which IFC8 should use when sending wakeups before the actual wakeup time.

Vendors which send result with systemtime:

Activate the above feature if IFC8 should search IWKC for wakeups based on current time, if a result is not with wakeup but system-time.


How do I run a database check ?

(as of version 8.7.1.21)

In order to run a database check you need to have a valid SQL-file which IFC8 can use as reference. This file is copied to the ..\Fidelio\IFC8\ directory by the installshield automatically.

NOTE: This functionality does NOT replace the existing update routines, as it does not replace any data. It is PURELY meant to check for missing fields or for fields with wrong structure.

Start IFC8 and open the database configuration menu:

right-click on "ICFG-setup:

once the "Check Ifc table structure" option is selected, the following screen will appear:

IFC8 will now start checking you structures. Various errors can be displayed like:

or

Note: field-types can change when a database was exported/imported. "VARCHAR2" will most likely be converted to "CHAR"

or

once the check is done IFC8 jumps back to this screen:


Regional Settings on the IFC-PC

NOTE: The above allies to all installations on V8. Please carefully check your implementation with OPERA, as amounts are regularly passed to IFC8 with a 'dot' as separator, regardless of the local regional settings. In that case ensure that the separator is configured accordingly.

IFC8 will read the regional settings of the IFC-PC and will format records accordingly (Amounts!!). Note: not the currency settings, but the NUMERIC settings !

You will mainly see this behavior in the XML-protocol:

If the regional settings have 2 decimal places and the komma "," as separator, then an outgoing amount would look like:

Actual amount: = € 4.-

would be in XML:

TotalAmount="4"

Actual amount: = € 4.20

would be in XML:

TotalAmount="4,2"

Actual amount: = € 4.25

would be in XML:

TotalAmount="4,25"

For FIAS there are exemptions, as we need to be able to perform exactly the same as in IFC7.

TotalAmount in EFT-records is hardcoded as: "XXXXXX.YY".

IFC8 will always send a "." as separator and will always send the cents, regardless, if they are "00" or not.

BI (BillItem) in the XI record and BA (Balance Amount) in the XB record will be sent as cents withOUT decimal separator.

Actual amount: = € 4.-

would be in FIAS:

¦BI400¦

Actual amount: = € 4.20

would be in XML:

¦BI420¦

Actual amount: = € 4.25

would be in XML:

¦BI425¦

The amount of decimals is set in the regional settings of the IFC-PC here under currency.


Security Concepts

With IFC8 version 8.4.0.0 we introduce enhanced security features, which are mainly designed to keep EFT data secure.

The aim of these features is to ensure that at no point access to clear EFT-data could be given to a user or intruder.

1. Masking of EFT-Data

IFC8 will automatically mask CreditcardNumbers and Track2-Data. A fraction of the values is still shows as clear numbers to allow supporting.

With LogLevel >=3 IFC8 displays the internal XML-records in the monitor/logfile. Attributes with sensitive data in these records may not show masked but crypted.

2. Crypting of sensitive data

IFC8 will automatically crypt all sensitive attributes. This crypting is used internally and in communication between IFC8.Exe and IfcBusi.Dll.

This ensures that no clear data is being sent over the network at any time.

IFC8 uses a mixture of RSA and DES3 as crypting methods with changing keys. Keys are created during runtime and can thus not be "reverse - engineered".

(EFT data in the PMS tables is crypted using DES3 too. However this crypting is running independent of the IFC8-crypting, as IFC8 does not directly access any EFT - related tables.)

3. Database Authorization

When starting FidelioV8 with an IfcBusi.Dll >= 8.4.0.0 you may see the following error:

There is new functionality in IfcBusi.Dll as of version 8.4.0.0 to check, if an IFC8 connection is authorized on this database.

A user needs to have the PMS right "Configuration\Cashiering" in order to be allowed to press "OK" on this form.

This message will only come once upon installing IfcBusi.Dll V. 8.4.x.x. (Or multiple times until "OK" is pressed for the first time.)

Pressing "Cancel" will disable the respective interface.

4. Cascading interfaces:

As of IFC8 version 8.4.0.0 you need to add authorization keys to cascade interfaces. This was done to ensure that no foreign application can connect and thus extract sensitive EFT-data. In order to allow connections one needs to have physical access to the interfaces and can not simple connect via TCP/IP.

Authorization keys need to be added to all cascaded interfaces, starting at that interfaces, which is connected to the vendor system.

Upon starting this interface you will get the following pop-up:

IFC8 will automatically create a DES3 key for you, which is available as dropdown-box in the above form. Do NOT use any other key. And as well do NOT copy a key from any other installation. IFC8 will reject any other key.

And do NOT attempt to copy any keys as found in IFC8 logfiles for any purpose. IFC8 crypts any value with RSA prior to sending it internally. These values are installation specific and can not be used at another installation or even at another session in the same Hotel.

Once you have "Applied" the key, you will get an error on the next cascaded interface:

Copy the key from the first interface and add it to the next interface in the cascaded line.

The cascaded line of interfaces will only then go to LinkALive status, when the same key has been added to all interfaces.

NOTE: The above ONLY applies to EFT-interfaces. IFC8 will internally check, if sensitive data is included to this driver.

If EFT is part of the driver will IFC8 force the user to add the authorization keys. For non-EFT drivers the above is optional.


Multiple Com-Ports -> ComEx layer

The windows and VB components do not allow Com-Ports higher then "16". For datacenter installations we added an extra component which will allow higher Com-Port numbers.

To use this component use Physical layer "ComEx":

NOTE: In order to use this layer you MUST have .NET Framework 2.0 installed.

(english version: ftp.micros.com//fidelio/archive/IFC/Utility/NET_Framework/)

The new DLL: Ifc8ComEx.Dll will be registered by IFC8 once the ComEx com-layer is selected and applied.

When selecting ComEx and applying you will see the following message:

Press "Retry" now and IFC8 will properly register IFc8ComEx.Dll.

And then:

IFC8 will default to Com17 for Com-Layer "ComEx" as this layer should only be used if Com-Ports higher then "16" are installed.

The following error will be displayed, if .NET Framework is not installed:


ODBC Database connection for configuration

With version 8.8.3.0 the OLE connection for IFC8's configuration has been discontinued, because Oracle has removed OLE support with oracle 12.

Instead IFC8 will now use ODBC to connect to the database for the configuration forms.

There is NO NEED to do any configuration of ODBC. IFC8 will dynamically find any necessary value and will make the connection automatically.

OdbcDriverName should be left empty.

In most cases the possible values will be a list of just one anyway:

This parameter has only been added in case multiple connections are available and one specific driver should be selected.

To check connectivity go to Control Panel/Administrative Tools and select "Data Sources (ODBC)":

Under "Drivers" you will see the Oracle drivers:

Under "User DSN" you can add a new one:

Press Add, then:

Select the one coming from the oracle client:

Enter some values:

and then press "Test Connection"

Then press "CANCEL". You don't want to really add a new connection/driver. This methodology is just used to see, that all is in order.


New Concepts of department code configuration

In elder Interface versions every single driver had it's own rules for department code selection and some were only available for a selected driver some other possibilities were only added to other drivers.

Overall the configuration was rather confusing, so we decided to make a complete new approach:

ALL Interfaces/Drivers are configured the same way in IFC8:

The IFC-Parser (= actual driver) translates the incomming datastring into an XML-document. This is passed on to the actual business logic of the Interface for further handling.

Now:

Depertment codes can very simply be chosen on each and every attribute contained in that respective XML-document.

e.g. When TrunkId is availble, then DCs may be selected on Trunk-Ids. Is teh dialled number available, then yes different DCs can be assigned to local, national and international calls.

This is totally irrespective of the vendor system.

Suite8 has two separate License codes for Interface postings:

Simple Posting

and

Enhanced Posting.

Simple posting will allow you to select department codes on Extension Types, Dialled numbers, Trunk-IDs etc.

To select by Outlet, SalesItemizer, TimePeriod, UserId, VipCode etc you will need the enhanced posting activated. As well posting of anything else but RoomPostings will require the enhanced posting parameter (e.g. Cash & Credit Card revenues.)


DC-Selection Step by Step

  1. First step should always be, that you verify, what kind of selection you have available from the respective driver. Are all XML-Attributes available, you were planning to select your DC on ? Just have one posting come into the interface and check the incoming attributes in the logfile.

  2. Check that you have the license required for the DC-selection you have decided on.

  3. Define the selection type in IDRV_IDCO_SELECT.

  4. Finally add all respective necessary records to IDCO.

Combining Department Codes:

There are different ways how subtotals in a POS postings can be combined into one sum.

IFC8 divides a posting into groups:

SaleItemizers, Discounts and ServiceCharges.

All splits within a group which are linked to the same department code will automatically be added up before the posting in V8 is made.

If e.g. a SalesItemizer is linked to the same department code as a discount, will these be posted as two separate charges to V8.

In case you want to combine those too, you need to set: "PosCombSplt" in IDRV_FEATURES. IFC8 will combine all subtotals which have the same department code if this feature is set.


POS systems with Add-On TAX

September 2014

Installations with Add-On tax are posing difficulties for the department code setup.

A base thing needs to be understood:

Suite8 will always create a separate record for the tax in the posting table, regardless if the system is setup as add-on tax or inclusive of tax.

The addition of the above figures will comes to a charge of "10.00" (generated from a posting in a tax-inclusive setup, tax-exclusive would not look differeent in the table)

The two records are linked:

Such a system allows for numerous amount of taxes or other automatic related charges (e.g. service charge) to be added to a posting and have it linked properly.

This posting could now be moved from one folio window to another and the tax-record would follow automatically.

In addition all reports would work out nicely, as the tax-postings can be easily be split out and reported correctly towards the respective revenues.

Now for POS postings coming from MICROS-POS through IFC8:

An example:

In this example 6% tax is applicable to all SalesItemizers, but ServiceCharge is free of tax.

The sum of all revenues is 114.00 and 6% of that is 6.84

Posting the above to the PMS results in one lump sum for the taxes, with no relation to any of the revenue postings.

At this point there is no logic way to import the taxes into Suite from the POS, due to this limitation of the MICROS-record.

A workaround has been added as of IFC8 version 8.8.1.7:

Approach:

The desire is to not post Taxes from POS – and in the very case of the Hotel on Borneo we do not want to post the ServiceChareg either. (Same problem: POS sends one sum, but PMS guys want to have this linked by salesitemizer in portions.)

The same applies to service charges. The automatic service charge is sent as a lump sum, but Hotels may want to split it up based on department code.

PMS setup:

Configure department code with corresponding Add-On tax, so that it is calculated and added as needed.

Configure department code to add 10% Service charge automatically as addon.

Result: the tax and SC is linked to the revenue in PMS8 and if the charge is move to a different window, tax and SC will follow automatically.

Setup in IFC8 (as of 8.8.1.8)

Disable TaxEx (i.e. do not post any tax itemizers fromPOS):

And in addition enable “NoDiffCheck”.

Service Charge:

No need to setup service charge itemizers, just set the default “C”, which will apply to all service charges and multiply with “0”

Alternatively if you only want to not-post the automatic service charge (C11), but e.g. post some other service charge, e.g. for TIPs, you need to setup all service charge itemizers and just multiply number 11 with “0”

As a result of such a configuration there will be a difference between the posted amount (sum of itemizers) and Check-Total. That is why “NoDiffCheck” needs to be enabled.

With this interface version the logic has been changed to allow NoDifCheck to be enabled while Autobalancing is enabled.

It needs to be understood that IFC8 will post the payment amount during Autobalancing based on CheckTotal. It can be that based on calculation and rounding differences the calculated taxamount from the POS differs from amount a it was calculated by PMS.

By the end of the day it can be expected that an autobalancing FA does not show balance=0.00 based on rounding differences.

The rounding difference needs to be cleared manually – it is advised to do this with a specific department code, as the total sum of payments equals the amount of payment as it was taken by the POS-waiter.

Such configuration is og course against any concept of a consistent chargeposting treatment. Subsequently when starting IFC8 with such configuration an error is raised reminding you that the configuration is dangerous:


POS Configuration in a Resort Hotel

Resort Hotels might have some specific wishes for their POS Interface.

Most resort Hotels have half- or full-board packages, which they sell to their guests. As the consumption can only be estimated, it is not possible to use Advanced package handling for these Hotels.

The guests do not have a specific amount which they can use, but they simple get their meals included.

If a Hotel wants to post the consumption on the Micros, it usually does not want to see the items on the guest's folio.

There are several ways to achieve this:

1.

IDRV_FEATURES: PosDontPostTA0

PosDontPostTA0 = Ignore all incoming POS postings, where TotalAmount="0.00" (regardless of the values in the itemizer fields.)

The interface will check the value in TotalAmount and will completely ignore the posting, if TotalAmount = "0.00".

This feature works independent of the V8-Version (can be used as of 8.5).

It should only be activated, if the Hotel is aware that using this functionality will results in discrepancies between the Micros and PMS reports.

2.

IDRV_FEATURES: PosHidSpl0_Bill & PosHidSpl0_Repr

(Available with V8 version >= 8.6.0.0)

PosHidSpl0_Bill = Hide postings from the guests folios, where SalesItemizerX minus DiscountX = 0.00

November 2005:

This feature is available with the latest ISLs on the 9700 and will soon be available with 3700 as well. It will NOT be available with 8700.

Logic: The interface will set postings to hidden (invisible) if the sum of a sales-itemizer and the respective discount = "0.00".

An example:

SalesItemizer1 = "10.00"

SalesItemizer2 = "5.00"

Discount1= "10.00"

IFC8 would post SalesItemizer1 and Discount1 as 'invisible' and only SlaesItemizer2 as 'visible'.

The guest would only see the 5.00 charge for sales-itemizer 2 on his bill.

However, the revenues are visisble on the respective reports and can be transferred to back-office systems.

NOTE: 'Invisible' postings are NOT transferred to Pay-TV systems during Bill-View.

PosHidSpl0_Repr = Hide postings from revenue reports, where SalesItemizerX minus DiscountX = 0.00

This feature is an addition to PosHidSpl0_Bill. Setting this feature will ALWAYS INCLUDE the functionality of PosHidSpl0_Bill.

The calculation of the respective postings is done in the same way. However, if this feature is set, it means that the respective postings will be marked to not show on reports. (Corresponding report changes in the V8 system may be necessary.)


Multi-Property Crosspostings from POS

Crossposting is a rather general word for very complex interface functionality.

Note: You need to have the respective Interface license(s) in ALL participating Hotels - and all participating Hotels need to be on the same version of V8.

Please remember to ALWAYS set Required=Yes for all PMS objects.

The maximum amount of PMS-objects is 9.

1.

In the base approach this refers to one POS system, which is connected to two Hotels, so that Room-charges can be sent to both Hotels.

The same configuration would be used for a scenario where both Hotels have a POS system and both interfaces would be configured for Roompostings in both Hotels.

2.

A more enhanced configuration is needed when two Hotels share one POS system and not all Revenue Centers on the POS belong to the same Hotel. like:

Hotel A | Hotel B
Restaurant A (=Revenue Center 1) | Restaurant B (=Revenue Center 3)
Bar A (=Revenue Center 2) | Bar B (=Revenue Center 4)

In the above scenario all Cash and credit card postings from Revenue Centers 3 and 4 would need to be routed to Hotel B automatically.

3.

Financial correction postings:

Some Hotels are reconciling their revenues against the Micros on a daily basis. However the revenues will not match any more when Cross-Posting comes into play.

IFC8 is capable of adding revenue postings into the "Home-Hotel", once it detects that a roomposting was sent to another Hotel.

Note: CrossPosting functionality is available for basically all systems, however has only been thoroughly tested with Enhanced Micros (M87POS).

4. Mandatory configuration

  • The Payment Methods for cash and credit only need to be defined in the "Master" (unless Hotel selection by payment method is used)

  • But: Cash & Credit functionality (formerly know as "Autobalancing") needs to be activated in ALL Hotels, because the RoomPayment methods need to be defined in all Hotels (for LinkPmsConf). If the functionality is not enabled, IFC8 will get incorrect configuration from the PMS in the LinkPmsConf-records (i.e. the roomposting payment method can thus not be confugured in all Hotels)

  • RoomPayment method may never have a relation to a SalesOutlet in the configuration (Micros does not send the SalesOutlet in inquiries)

5. Troubleshooting:

In the very most cases errors have been done in the IACC setup of the various Hotels. Remember:

  • RoomPosting must exist in all Hotels

  • RoomPosting may never be linked with a sales outlet

  • Do not use virtual payment methods for AddXPost twice - i.e. have a different one in each Hotel to not confuse yourself

  • In case of one POS srving more than one Hotel all virtual payment methods for AddXPost must be linked with one (or more) SalesOutlet belonging to the respective Home-Hotel


Configuration of IFC8 on Suite8

First and most important:

Each of the connected Hotels needs to get it's own unique ID. This ID is stored in ICFG_HOTEL_ID. However we do not refer to it as "Hotel-ID" but as "Path_ID".

Values can be from '1' to '9', the 'home-hotel' needs to be set to value='1'. IFC will detect all postings going to PATH_ID <>'1' as 'crossposting'.

Furthermore: CrossPosting is only enabled when cash & creditcard posting is enabled in all Hotels and splitting by at least one criteria is used. i.e. if posting to a second Hotel should be sent to just one department code you need to setup splitting by outlet as minimum requirement.

Pre-requisite for crossposting is of course that at least two PMS objects and the related DBS-Connects have been configured. (See above screenshot).

The PATH_ID is set right on the first screen:

Invalid PATH_Id configurations will be detected by IFC8 - and it will refuse to start:

Configuration of payment methods:

Ensure that IDRV_ACT_TYPE <> '0' in all Hotels, as else Crossposting is disabled.

Then add the POS payment methods:

Essential for the configuration:

The Roompayment method which is intended for Cross-Postings needs to be configured in all participating Hotels.

IFC8 will compare the method as received from the POS with all configured payment methods from all Hotels and will thus decide where to look for the roomnumber/guestname/Track2.


One POS and two Hotels

It is possible to connect one POS to two PMSs and select the 'Home-Path' based on the sales-outlet within the POS.

In order to do so, each and every valid Cash & Creditcard payment method needs to be setup in all PMSs together with the related Sales-Outlet.

NOTE: This feature will NOT work, if there is just one payment method without a Sales-Outlet attached to it. And: Roompostings may NOT have a salesoutlet attached to them, but need to be valid in all PMSs. If you try to setup a mixed setup, where some payment methods have outlets attached to them and some don't, IFC8 will not be able to detect the target path for AddXPost anymore and will always send them to PathId_1.


Night Audit

Carefully check if your interface supports Night-Audit commands.

Some drivers can handle commands from several properties. However, for most drivers it will probably be necessary to deactivate Night-Audit commands for all but one of the connected properties.


1 PBX serving 2 Hotels

1 PBX serving 2 Hotels - Opera

1 DESCRIPTION

in the scenario of one vendor system supporting multiple Opera Properties, either of same schema or of different schema, ifc8 on Opera gives the option to connect this vendor system to the related Properties via ONE application.

Hereby IFC8 will make the connection to each Property via multiple IFC8 PMS objects, each connecting to the related ifc controller.

If the properties are in the same Multi Property environment (same schema) the connection can be done through the same ifc controller.

Check-in, Check-out, etc. and postings, wake up handling will then be done via ONE ifc8 application only.

The multi property handling is exclusively handled through the ifc8.exe with this special setup

Note: a Maximum of 9 PMS Properties can be connected at one time via one ifc8 application setup, restriction is on the amount of IFC8 PMS objects being handled.

2 SAMPLE SCENARIO

One PABX system will be installed with its sets for two Opera Properties. Instead of installing one IFC as per Property - which is dependent on the vendor side allowing multiple connections on one system – only one ifc connection will be created, serving communication to both (or more) properties.

Same applies to Video, WWW, KSS Systems.

For Multi Property posting with POS Micros Systems please refer to separate documentation as the setup is different to the below described one.

3 SETUP IN OPERA PMS

Requires licenses of the related FKT Logo for all properties

Verify for unique room numbers respective unique rooms/lines on vendor side

1. Create new ifc record for Property 1

Ensure that Path ID = 1

2. Create your requested setup for the ifc

3. In Room Translation tab consider unique line number setup

In this sample I used prefix 1 for the line number setup, to differ from same room numbers in PMS

= 1 + room number

4. Create new ifc record for Property 2

Ensure that Path ID = 2

5. Create your requested setup for the ifc

6. In Room Translation tab consider unique line number setup

In this sample I used prefix 2for the line number setup, to differ from same room numbers in PMS

= 2 + room number

There is no PMS Parameter needed to set like the known MHT3 Cross Property postings

4 SETUP IFC 8 FOR IFC MULTI PROPERTY POSTING

IFC8 setup.

1. Create your ifc8 application for Property 1, configure the necessary setup in the IFC8config.xml file

2. Ensure that you will have proper vendor connection and ifc controller connection

Finally you should have one ifc8 with one IFC object and one PMS Object connecting to the ifc record for path_id 1 ( in this sample = 12)

Now right click on the PMS 1 node and choose ‘Clone Node’ to create a second PMS object

Press ignore for the pop up message

Now a second PMS Object has been created.

Next step is then to define the correct ifc ctrl id for the PMS 2 IFC:

In our case it is ID 8:

Now we need to change the TCP Layer of both PMS Objects and change from TCP to TCP/C.

Reason for this is that the IFC Controller does allow multiple IP connects from the IFC, but not handling multiple connects as TCP Client. Thus we need to change the settings now.

You can also already choose this value (TCP/C) at beginning of the setup.

The Physical layer setup of the 2 PMS objects will looks like this after the changes:

Now after IFC reinitalisation both PMS Object should have the right LED = Green. If not, please verify your connection settings of the ifc controller (Port to use) or the related registry settings.


1 PBX serving 2 Hotels - Suite8

Setup on Vendor System serving multiple Suite 8 Databases (Multi Hotel).

To use for PBX, VSS, WWW,KSS, MBS, MSC, VEN, CAS IFC , NOT FOR POS CROSS POSTING – not for EFT IFC.

Requirement: all Suite8 Hotels must be on same PMS version.

Configuration Steps:

Configure IFC8 for Hotel 1 as usual.

To enhance for support of Hotel2 go to IFC8 Configuration

Right click on PMS1 and choose “CLONE NODE”

Press Ignore to continue.

Now you have 2 PMS Objects with same setting.

Next Step is to copy the “GlobalDbsConnect0” as to generate Oracle connection config for PMS2 object.

Right click on “GlobalDbsConnect0”.

Press Clone Node.

Another new item “GlobalDbsConnect1” is now available.

Press OK, Apply & save the config.xml now.

Now change the Parameter “Param” to ‘1’ for PMS2 Physical Layer –> DBS as to point this PMS object to Connection settings of “GlobalDbsConnect1“.

Press OK, Apply & save the config.xml now.

Enter connection details in “GlobalDbsConnect1” for the DB login of Hotel2 .

Then connect to each of the DBconfig and setup PBX IFC.

Set Path ID( ICFG _HOTEL_ID):

Hotel ID of PBX IFC of Hotel1 must be = 1

Hotel ID of PBX IFC of Hotel2 must be = 2

When Starting the IFC8 now – connecting to the vendor system, you will get following error message:

To resolve go to IFC8 Config.XML – configuration – IFC1 – “PathIdX” Parameter.

Right Click to this value and press “Clone & Rename Item”.

New Parameter will be shown.

Replace the “PathIdx” name with ‘PathId2’.

Press Enter.

Then change the Value for this item to ‘PMS2’.

Press OK, Apply & save the config.xml now.

Start IFC8 and connect with the vendor system.

When IFC for Hotel2 is properly configured (with IRMS setup) then you should see status message similar to above and IFC become green for both PMS objects.


Understanding the Comm-Service

IFC8CommService is a service which can be installed on basically any PC.

It serves as a TCP->COM converter and uses the physical com-port(s) on the machine where it is resident.

It can be used instead of e.g an Equinox Box or similar hardware, in case IFC8 is located to far away form an external system to directly connect a serial cable.

The service normally acts as TCP-client and tries to reach IFC8 on a configurable TCP-Adress/Port.

Note: restrictions apply for certain FKT-Logos, as some FKT logos do not have permission to communicate via TCP!!

For EFT and DLS (= Request <-> Reply IFCs) set the CommService as TCP-Server and IFC8 as TCP-Client.

For all others (PBX, POS, VSS etc) set IFC8 as TCP-Server and CommService as TCP-Client.

Note: IFC8-Comm-Service requires a license code to activate. To get a code please contact your regional interface product manager. (Licenses are issued from development and not via license department.)

Mailtemplate:

------------------------------------------------------------------------------------------------------------------

Mail subject:

License request / IFC8 commserv / [FKT] / Hotel Name /

Request for license for an IFC8-Commservice installation at the above Hotel with above FKT logo

ifc commserv – code as given during startup:

License1:

(for multiple license requests pls copy above)

------------------------------------------------------------------------------------------------------------------


When to use the Comm-Service

This application is NOT mean to be used for the following scenario:

  • IFC8 installed at the datacenter (or anywhere else remotely from the Hotel) and the Comm-Service runs at the Hotel. IFC8 should be installed at the Hotel and nowhere else. It uses a thin connection to the Webservice, so there is no argumentation to have it in the DC.

The CommService is NOT intelligent and cannot cater for drops in the connection to IFC8. If you need any cascading over the WAN, then install 2 instances of IFC8.


Setting up IFC8-Comm-Service

Note: The following displays how to install and setup the service.

Once the setup is finished the service can be set to "Automatically start" and would run in the background.

1. Run Comm-Service Setup:

2. The setup creates a program Group and an icon:

3. After the setup has finished start the service:

4. The following screen will apear:

The left windows allows you to configure the Com-Ports parameters.

The right window defines the TCP-connection details to IFC8.

Change the values as needed. the allowed values are the same as in IFC8-configuration.

Pressing "Add new" will duplicate the running processes within the service. This can be done in case you need to connect two external systems to two separate com-ports on the machine. Multiple processes are possible and are all handled from teh same service.

License:

Copy the value from the license field and send it to your regional interface product manager to obtain a registration code.

5. Once you have entered a valid activation code you can press "Install". The following screen will now appear:

6. Once you start the service the following screen is displayed:

The yellow and red lamp signal the current connection status (same logic as within IFC8)

7: This is how the screen looks like when vendor and IFC8 are connected:

Logging of start/stop etc can be found in "Event Viewer" (Application) under Administrative Tools


Understanding services

IFC8 has been designed as interactive program and not as a service.

However the need to install IFC8 in data-center environments creates a different situation.

A classic service is a program which is running without user interaction. If e.g. configuration is necessary then a separate tool is written which does the configuration for the service. (A so called "control".) In case of IFC8 this is impossible. The screens, forms, user interaction and configuration can not be separated from the actual interface any more. Doing that would basically mean rewriting the application.

In order to be able to run IFC8 as a service code changes are done, where e.g. IFC8 can respond to the service control manager after successful startup.

Another area where code is changed is the base startup of the application. IFC8 used to read APIs from the OS which are only available when a user is logged on. This is changed so that only APIs are used which are available without log-on. The result is that some functionality from IFC8 may not be available once started as a service. (e.g. reading/using installed printers from a user account.)

Configuration:

IFC8 is running forms. Theoretically it is not possible to keep forms loaded while logging-out from the OS.

IFC8 can keep the forms under most conditions. However it is thus recommended to stop IFC8-Service and start it again as normal application, when configuration changes should be done.

Once the changes are finished, save the configuration, stop IFC8 and start it again as service.

Starting & Stopping IFC8-as-Service:

NEVER stop IFC8 manually, when it is started as service, but ALWAYS stop and start it via the service manager.


Installing IFC8 as a service

The ability to run as a service has been added to IFC8 as of version 8.5.6.3 (September 2008).

NOTE: This functionality has only been tested VERY basically and is NOT RELEASED. If you are interested in running a BETA, please contact your regional Interface product manager.

Service installation should ONLY happen in monitored environments (e.g datacenters) never install IFC8 as a service unless it is absolutely necessary.

IFC8 is not programmed as a native service, thus it is always recommended to run IFC8 as an application.

1. Before you can install IFC8 as a service, you need to install the interface normally. (Run installshield.)

2. Do the configuration of the interface, which you want to run as a service normally and create the corresponding Ifc8Config.Xml and store it in it's final place.

3. Start IFC8 and go to general properties:

The value of "ServiceInst" is read from the registry and is updated dynamically. Now click on the icon.

IFC8 has now automatically added a new service using the parameters as follows:

Note: The name of your config.Xml is added to the service-name. So in case of Multi-property installations it may be useful to add the Hotename to the config XMLs name like:

Which would result in:

LIMITATIONS:

  • The total length of path and config XML-name may NOT exceed 60 characters. (maximum for service names.)

  • The name of the Config.Xml may NOT contain spaces. Always use underscores, where necessary.

  • Do NOT use a minus/plus sign with preceding space. IFC would interpret this as a command line parameter.

The service itself:

The service is installed with startup type = "Automatic". the comand line is written with parameter "-l" ( ignore errors during startup.) Additionally you can add "+B" into the comand line (manual modification in the registry) should you want IFC8 to beep like IFC7. This is a good feature to test if IFC8 has started properly without log-on. During runtime "+B" should not be used....

2. Running as a service.

IFC8 can now be started from the Service Control Manager - or automatically.

IFC8 will start with it's form, if the machine is logged on. You can normally use IFC8's controls in this case.

Closing down IFC8 manually will stop the service and inform the service control manager accordingly.

IFC8 can NOT be paused:

A good way to test your service is to log-off and back on again. IFC8 is still running, but the form has disappeared:

Logfiles:

An additional logfile is generated next to the used Ifc8ConfigXml in case IFC8 is started as service

Ifc8Service.log

This log contains information about start and stop of the service and possible error-scenarios.

Running IFC8 as a service on Windows7:

After installing IFC8, run the procedure to install as a service.

Note: you must run IFC8 as administrator to do so !

Acknowledge the following forms:

The service is now available:

Start the service:

When running IFC8 as a service on windows7 you may see a message showing up that program wants to interact with the desktop.

This is in most cases a sign for an incorrect service installation, IFC8 is not starting with parameter "+H"

Note: NEVER try to install IFC8 as a service when it is not started from a shortcut with valid link to a config.xml. This will result in a service-entry which will not work properly.

Re-configuring the service:

For on-site installations it is recommended to start the IFC8-Service with a dedicated user, so that iFC8 has the rights to write logfiles to the dedicated directory and so that IFC8 has access to locally installed printers.

For datacenter installation, you should generally not install with dedicated user but with system account. IFC8 will never print directly to a Hotels printer when running in the DC.

And in the DC there cannot be a dedicated interface user, but all support and installation personnel needs to log-on with their own user to comply with PCI regulations for datacenters.

IFC8 will automatically add the command-line setting based on the OS found:

if OS <= XP/Server2003 --> "C:\Fidelio\Ifc8\Ifc8.exe C:\Fidelio\Ifc8\Fias.xml -I"

if OS > XP/Server2003 --> "C:\Fidelio\Ifc8\Ifc8.exe C:\Fidelio\Ifc8\Fias.xml -I +H"

Interactive messages:

Windows7 (and later) allow messages from services to be displayed, i.e. show IFC8. This depends on "Interactive Services Detection":

This service is set to "Manual" by default. It needs to be running in order for IFC8 to display.

In datacenter environments this is not necessary as there is no dedicated user to show the IFC8-form to.

Run IFC8 (as of 8.8.1.5) with startup parameter "+H" to disable any viewing of IFC8. In case you need to reconfigure IFC8 stop the service, start IFC8 with normal shortcut as application - reconfigure where necessary - and start again as service.

Note: this is automatically set by IFC8 for all Operating Systems which support the 'isolated session with ID=0' - i.e. as of Windows 7)

Regional settings:

the used regional settings are shown in the logfile:

On Opera installation you can find problems, if the regional settings of the IFC-PC and the App-Server are different only (ONLY!!) in that case you can modify IFC8's settings, which will override the current OS settings:


How do I check my Licenses ?

Licenses are stored in WLIC.

Modification is done in V8 under:

Setup \ Miscellaneous \ License \ V8 Sublicenses \

Up to Suite8 PMS Version 8.9.5.2 :


Keyless License

ORACLE Keyless License

With Suite 8 PMS Version 8.9.5.3 the application license check has been removed!

Based on requirements from Oracle any products or modules may not require license-codes or may not check any expiration date or similar.

These requirements are covered with the new version, as such please forward this information to your colleagues in charge of the installation or support.

These requirements do under no circumstances replace the prerequisite that each installation requires a license to be ordered.

Using this module without a license ordered violates the license agreement and might have legal consequences.

This means that you need to enter the License information into the PMS Sublicenses section, and enter a code. However this can be anything.

Also the License Module must be activated.

See below sample:

IFC8.exe will not check the License anymore, however it will still check for valid FKT Logo being in PMS Sublicense.

Therefore you need to enter the FKT Logo correctly (as used in IFC8)

Suite8.9.6.3 PMS: Move of IFC Feature Licenses into FEATURES !

New License Handling: All licenses in Suite8 have been adapted to the new licenses as available on the Oracle Global Price list.

Also license naming has been modified and SKU numbers (former Part numbers) added for better identification/ comparison).

All this is reflected in the sub license screen of Suite8.

Some of the old licenses have been removed and turned into features. So are all the former IFC8 Feature licenses.

There are now 5 main licenses:

- Profession Edition

- Resort Edition

- Small Business Edition

- Conference and Catering Base (former CCM Only)

- Central Head Office (former Master flag)

The only difference between the first three are the number of available features.

The Number of available features in total: 102

- Profession Edition: all 102 features can be enabled

- Resort Edition: max. 30 features can be enabled

- Small Business Edition: max 18 features can be enabled

For Conference and Catering Base there is no feature list, all required features are enabled by default.

Central Head Office only to be used for Hotel Connector/CRS master in combination with the other Central Head Office sub licenses.

The new main license 'Central Head Office' is replacing the 'Master hotel' check-mark on the License screen. Main license has same result as old combination 'Master hotel'

flag enabled and v8pms sublicense inactive.

The number of sessions check for CCM Only license has been removed as it is no longer required.

Please note, that Seasonal License does not exist anymore.

When starting Suite8 Version 8.9.6.3 for the first time, the feature list needs to be reviewed.

For Professional Edition all features are enabled by default and features like A/R and Blocks, that used to be sub licenses, would be visible although not used so far.

For Resort Edition, the first 30 features are enabled by default and list needs to be reviewed. For SBE the feature list already existed in previous version, therefore the

features remain as they were and list needs to be reviewed as well.

Access the Feature List under:

Setup\ Configuration \ Miscellaneous \ Feature List


PBX_Functionality

PBX interfaces can have the following functionality, depending on the capabilities of the respective PBX system:

  • Communicate in real time with the PBX system and receive call data, room status postings, minibar postings and wakeup call placements. Send check in/check out commands, wakeup calls, message waiting indicator commands and PBX specific available commands (such as direct inward dial controlling, computer controlled dialling, etc.).

  • Calculation of call charge according to user defined charging tables.

  • Direct Slip printout for any desired extension. (Not supported yet.) The format of the printout is user definable.

  • Call charge data is kept in a history file, from which at any time any desired report can be made.

These additional features are only available with certain PBX systems:

  • Automatic or manual control of telephone extension status

  • Automatic or manual control of Message waiting indicators

  • Accurate control of wakeup calls, with user alert for unsuccessful wakeup calls and a complete reporting facility.

  • Online change of room status in FIDELIO V8.

  • Minibar transmissions, either as charge or as item count/article number.

  • Automatic update of guest name display systems for caller name display on operator console


TMS - Telephone Management Systems

Name | Part Number | Release Status | FKT-Logo | Comments
ADIICT - Asterisk - Voice over IP | 5001-336 | NOT rel. | FIAS_ADI | FIAS, TCP/IP supported
AGS Hotel | 5001-239 | NOT rel. | FIAS_AGS | FIAS
Alcatel 4300L (OPUS 4000) | 5001-004 |  | A4L |
Alcatel 4400M (OPUS ) | 5001-001 |  | AOP |
Alcatel 4400 / Alcatel OXE | 5001-034 |  | A44 | Also:Omni PCX Enterprise OXE (AHL)
Alcatel 5200 BCN/AFS | 5001-002 |  | A52 |
Alcatel Telic 2600 xx | 5001-005 |  | A26 |
Alcatel Telic 2640 | 5001-006 |  | A24 |
Alcatel OHL - Omni PCX Office (OXO) | 5001-294 |  | AOM | TCP/IP Only !!
Ascotel BCS 64 | 5001-007 |  | ABC |
Avaya Definity/Guestworks / S8500 / S8700 - ASCII mode only | 5001-255 |  | LAS | Former: Avaya-Lucent Guestworks only TCP/IP
Avaya Definity/Guestworks / S8500 / S8700 - Transparent mode only | 5001-075 |  | ATD | Former: AT&T Lucent Definity only RS232
BCS, Bosch Telecom GmbH | 5001-227 |  | FIAS_BCS | FIAS, TCP/IP supported
Bkue's PMS Link - Telcen Spa |  |  |  |
Bosch Telecom ACOM | 5001-055 |  | TNA | formerly Telenorma ACOM
Bosch Telecom BCS/TCS Server | 5001-061 |  | TNS | formerly Telenorma TM-Server/TCS
Bosch Telecom Micrologica | 5001-058 |  | TNM | formerly Telenorma Micrologica
Bosch Telecom Tenodat Unipro for | 5001-059 |  | TNU | formerly Telenorma Tenodat...
BTMS 2000 | 5001-119 |  | FIAS_BTM | FIAS
BVTA |  |  | FIAS_BVT | FIAS, TCP/IP supported
C.S.O.S Mobile Rental System | 5001-229 | RESTRICTED, AP | FIAS_CSO | FIAS
CallTel Saloma | 5001-314 |  | FIAS_CTO | FIAS, TCP/IP supported
CHAR CONEXION PMS | 5001-258 |  | FIAS_CNX | FIAS, TCP/IP supported
CIE - INFOSERV | 5001-244 |  | FIAS_CIE | FIAS
Comms Mediation Device | 5001-305 | NOT rel. | FIAS_CMD | FIAS, TCP/IP supported
ComXchange by Innovations | 5001-311 |  | HCX_CXC | Hitachi HCX Clone
Cube Voice | 5001-337 | NOT rel. | FIAS_CUV | FIAS, TCP/IP supported
Datapulse Vers. | 5001-083 |  | DP3 |
Defero3-SuiteSpeak Micros-Fidelio | 5001-321 | NOT rel. | FIAS_TFC | FIAS, TCP/IP supported
DeTeWe 300/840 DAS 16K | 5001-073 |  | DAS |
DeTeWe TVA GDX | 5001-085 |  | DTW |
DPS WinTAP (Data DPS) | 5001-011 |  | DPS |
DV2000 - DuVoice Corporation | 5001-333 |  | FIAS_DV2 | FIAS, TCP/IP supported
DVS 8818 connector - by Sikom | 5001-268 | NOT rel. | NSG | NCC clone (Former: NSG-Gateway)
Easy Talk HTMS | 5001-328 | NOT rel. | FIAS_ESY | FIAS, TCP/IP supported
ELCOM SYSTEMS LTD. | 5001-198 |  | FIAS_DTM | FIAS, TCP, Former:DTMS, Dyepole
Enterprise CS - Iwatsu Voice Network | 5001-301 |  | IWA |
EPIX - Etesalat Call Management Syst | 5001-303 |  | FIAS_EPI | FIAS, TCP/IP supported
Ericsson ASB 900 | 5001-012 |  | ER9 |
Ericsson ASB/BCS 150 | 5001-013 |  | A15 |
Ericsson Business Phone | 5001-109 |  | EBP |
Ericsson HS 100 | 5001-014 |  | ER1 |
Ericsson HS 900 | 5001-015 |  | ER1 |
Ericsson MD 110-Hotel | 5001-016 |  | M11 | Not available in Germany
Ericsson MD 110-HotelHA Gateway | 5001-238 |  | M1G |
Ericsson MD 180 | 5001-017 |  | M18 |
Ericsson Multifit | 5001-040 |  | M18 |
Eternity Matrix | 5001-335 |  | FIAS_ETM | FIAS, TCP/IP supported
Eurofluxo international bv | 5001-309 |  | FIAS_EIB | FIAS, TCP/IP supported
FCS/Federal Computer Services | 5001-018 |  | FCS |
FHS PABX - Fusion of Hotel System | 5001-252 |  | FIAS_FHP | FIAS, TCP/IP supported
Fujitsu 9600/FETEX 6xx | 5001-076 |  | F96 |
GEOSOFT/SATELCOM | 5001-039 |  | SAT |
Gfeller GFX 1 | 5001-066 |  | GFX |
GST, Beijing Goalsyn Elec.Tech.Corp. | 5001-149 | RESTRICTED, AP | FIAS_GSY | FIAS
GT&T, Ssangmi Global Telink | 5001-224 |  | FIAS_GTT | FIAS
Harris 20-20 Accomodator | 5001-065 |  | H20 |
Hitachi HD/HCX 5000 | 5001-003 |  | HCX |
Honour System Consultants | 5001-181 |  | FIAS_HOT | FIAS
HospiX Connect | 5001-308 |  | FIAS_HPX | FIAS, TCP/IP supported
Huawei PMS Interface System | 5001-263 | NOT rel. | FIAS_HUA | FIAS
HYBREX/TransTel System | 5001-194 |  | FIAS_HYB | FIAS
Impact Concierge by Comdial | 5001-236 |  | HCX_IMC | Hitachi HCX Clone
INFORMATEC | 5001-341 | NOT rel. | FIAS_IFM | FIAS, TCP/IP supported
Informatel | 5001-099 |  | INF |
InnService & Ultimate Call Account. | 5001-286 |  | FIAS_UTM | FIAS, TCP/IP supported
InnSist CAS | 5001-313 | NOT rel. | FIAS_INC | FIAS, TCP/IP supported
Integrated Attendant Console | 5001-239 |  | FIAS_IAC | FIAS
IPC Advanced Hotel System | 5001-253 |  | FIAS_IPC | FIAS, TCP/IP supported
IPHotel - Techvision | 5001-324 | NOT rel. | FIAS_IPH | FIAS, TCP/IP supported
IskraTELING SI 2000/ | 5001-330 | NOT rel. | FIAS_IKT | FIAS
Jurudata Services "DialLink" | 5001-100 |  | FIAS_JUR | FIAS, TCP/IP supported
KAREL - DS200 Series | 5001-293 |  | FIAS_KD2 | FIAS, TCP/IP supported
KOR CAM - Call Accounting MAnager | 5001-296 |  | FIAS_KCA | FIAS, TCP/IP supported
Licencia CTEX | 5002-157 | NOT rel. | FIAS_LCT | FIAS, TCP/IP supported
LTC - LinTong Tele-Communications | 5001-129 |  | FIAS_LTC | FIAS
Maximizer Fidelio Interface | 5001-310 | NOT rel. | FIAS_MFI | FIAS, TCP/IP supported
Memorex Telex 1001/1200/5000 | 5001-024 |  | MTX |
Meteor Hotel | 5001-240 |  | INF_MTR | Informatel (INF) Clone
Meteor TMS - FIAS Option | 5001-275 |  | FIAS_MTO | FIAS, TCP/IP supported
MFTI (UK Only) | 5001-332 |  | FIAS_ETC | FIAS, TCP/IP supported
Midas - Telephone Management System | 5001-300 |  | FIAS_MDA | FIAS, TCP/IP supported
Mitel SX-200 / SX200 ICP Call Ctrl | 5001-068 |  | MS2 |
Mitel SX-2000 / 3300ICP Call Ctrl | 5001-064 |  | M2K |
NASA Call Accounting | 5001-319 | NOT rel. | FIAS_NAS | FIAS
NEC 2400 60/90/120 & NEC 2000 Series | 5001-027 |  | N24 |
NEC 2400 SDS | 5001-029 |  | N2S |
NEC 7400 IMS | 5001-093 |  | N7M |
NEC 7400 NEAX ICS 120 | 5001-105 |  | N74 |
NEC APEX 2400 | 5001-047 |  | N2A |
NEC - PMSU (EAME System) | 5001-322 |  | FIAS_NCP | FIAS, TCP/IP supported
NeXspan PMS Link - S.T. Srl | 5001-331 | NOT rel. | FIAS_NXS | FIAS, TCP/IP supported
Nevotek Cisco Call Manager | 5001-260 |  | FIAS_NEV | FIAS, TCP/IP supported
NOKIA DIXI | 5001-074 |  | NK1 |
NT Meridian SL1 with Bytec Box | 5001-025 |  | SLB |
NT Meridian SL1 with Voicemail | 5001-069 |  | SLV |
OME, Omega Management Services | 5001-223 | RESTRICTED, AP | FIAS_OME | FIAS
P$X Micros IFC for Asterisk | 5001-334 | NOT rel. | FIAS_PXM | FIAS, TCP/IP supported
Percipia Transient Communications | 5001-254 |  | ATD_PCP | ATD clone
Percipia Transient Com.-Engine(PTCE) | 5001-302 |  | FIAS_PTC | FIAS, TCP/IP supported
Philips Octopus 180i | 5001-079 |  | O18 |
Phillips - Hotel App. Service System | 5001-304 |  | FIAS_PHA | FIAS, TCP/IP supported
Philips Sopho-S | 5001-037 |  | SOP |
Philips Win-EAI | 5001-249 |  | EAI |
PhoneControl Affinity | 5001-329 | NOT rel. | FIAS_PAF | FIAS, TCP/IP supported
Phone Suite | 5001-291 |  | PST | M2K clone
PhoneWare Call Acctg + Dir Services | 5001-120 | RESTRICTED, AP | FIAS_PHW | FIAS
PMS 2000, AMS International Ltd. | 5001-231 |  | FIAS_AMS | FIAS
PT Datacom Solusindo | 5001-048 |  | FIAS_DCM | FIAS
Rolm CBX/AT&T Dimension | 5001-078 |  | CBX |
SAMwin.CAS | 5001-288 | NOT rel. | FIAS_SWC | FIAS, TCP/IP supported
SEL 5620 | 5001-041 |  | S20 |
SEL 5625 | 5001-042 |  | S25 |
SEL 5625 NEW | 5001-088 |  | S5N |
SEL 5630-DIS | 5001-043 |  | DIS |
Selta SAE 3000 Family | 5001-123 |  | FIAS_SAE | FIAS
Siemens Caracas | 5001-033 |  | NCC |
Siemens EMS 601 | 5001-049 |  | EM6 |
Siemens - HiPath Hospitality Service | 5001-299 |  | FIAS_SHH | FIAS, TCP/IP supported
Siemens Topcom 200 | 5001-125 |  | TP2 |
SK Hotelphone | 5001-265 | NOT rel. | FIAS_SKH | FIAS, TCP/IP supported
SLAP Keeper | 5001-326 | NOT rel. | FIAS_SLA | FIAS, TCP/IP supported
Slit - Web Hotel | 5001-315 | NOT rel. | FIAS_SLI | FIAS, TCP/IP supported
SmartTEL (Smart PBX) | 5001-245 |  | FIAS_SMT | FIAS
Sophie PMS - Avaya IP Office | 5001-295 |  | FIAS_SHE | FIAS, TCP/IP supported
SR Comms (CARA) | 5001-051 |  | SRL | also called: Systems rel. Status
T.A.B.S. KX TDA 200/600 by Panasonic | 5001-118 |  | FIAS_TA2 | FIAS
Tadiran Coral CAP | 5001-128 |  | COR |
Tel-But DOS | 5001-089 |  | TEB |
Telecare Hotel Systems - VMS | 5001-214 |  | FIAS_THS | FIAS, TCP/IP supported
Telecom Eye | 5001-222 |  | FIAS_TEY | FIAS, TCP/IP supported
Telephone Management Sys. (Callstar) | 5001-063 |  | CSB |
TELESIS x1-100 | 5001-282 |  | FIAS_TS1 | FIAS
Teletek Call Accounting | 5001-130 |  | FIAS_TTK | FIAS
Telinfo | 5001-278 |  | FIAS_TLI | FIAS
TELRAD Iris | 5001-115 |  | SLV_TIR | NT SL1 clone
Tiger Hotel 2000 | 5001-132 |  | TIG | TCP/IP supported
Tiger Hotel Pro | 5001-320 |  | FIAS_TIH | FIAS, TCP/IP supported
TMS, Dual@dvantage, Comtelco | 5001-264 |  | FIAS_DUA | FIAS, TCP/IP supported
Triax Personal Operator | 5001-247 |  | M2K_TRX | M2K clone
Winsuite 99, FCS | 5001-215 |  | FIAS_FPB | FIAS, TCP/IP supported
Wireless Room Connect, Travelers T. | 5001-199 |  | FIAS_WRC | FIAS


Specific Setup of the FIAS Driver

Generally there is no special setup necessary for any FIAS-based interfaces.

Further below is a list of Tips&Tricks which should help you setting up FIAS faster.

Ifc8Config.XML

See the section about Ifc8Config.Xml for further info.

Tips & Tricks

1. Low Level Definition

The FIAS driver supports different lowlevel drivers (ACK/NACK etc) , normally used in dependency to the communication layer (COM<->TCP)

IFC8 is defaulted to TCP communications. If you choose to connect via RS232 you MUST change the Layer2 value manually.

TCP:

RS232:

(Layer2=LLC_FDX is possible too.)

NOTE: The CheckSum value is DIFFERENT for TCP and RS232 connections. First change Layer2 to "STD" and press 'APPLY'. After IFC8 has finished the Re-Init change CheckSUm to "LRC" and press 'APPLY' again.

2. Language Codes:

Understanding the language handling of the FIAS driver:

Note: it is NOT possible to define language codes which are non-ISO-standard. Some languages of the FIAS driver are hardcoded (as per specification):

FIAS Language Code | Description
EA | English/American
FR | French
GE | German
IT | Italian
JA | Japanese
SP | Spanish

For all other languages IFC8 will send the respective ISO code (as configured in the business logic).

The configuration can be used to map certain languages to a different one should the external system not support all languages as they are setup in the PMS.

It is NOT possible to have non-ISO codes in the 'VALUE' field. IFC8 will not send the GL field in the respective record should a non-ISO code be configured.


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,N,8,1" CheckState="Y" />
<PROT CheckSum="N" Layer2="LLC_BLK" RecMaxLength="64000" RecBuffTimeOut="2000" ReInit_On_ExpEnq="N">
<LLC_BLK BLK_CheckSumPos="0" BLK_IgnoreChecksum="Y" BLK_SendStopCharacter="2" BLK_ReceiveStopCharacter="1" BLK_InitialDelay="50" BLK_InterbyteDelay="50" BLK_ReceiveOnTimeout="Y" />
</PROT>
<PARSE Simulation="Y" FktLogo="ABC" XmlDecl="N" XmlPackEmptyAttr="N" InLineSchema="N">
<ABC ABC_MessageWaitingText="999" ABC_ChargeMode="0" ABC_CheckinRecordSelector="0" ABC_DndRecordSelector="0" ABC_CommandTimeout="5000" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="N" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef AnswerStat="OK" ClearText="TestBuchung" Date="(Date)" GuestName="Test" GuestShareflag="N" PostType="C" RoomNum="101" SwapFlag="" SalesOutlet="1" TotalAmount="1000" Time="(Time)" UserID="ETC" WSNum="1" />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1"
                    CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_AXOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="1"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<PARSE FktLogo="A4L"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="20127"
                    CharPlaceHolder_Def="|GE_UML||">
  <A4L
UseUnits="1"
A4L_SendRoomOrGuestNumber="1"
A4L_VoicemailFlag="0"
/>
  <Language
Lang_Default="0"
Lang_EN="0"
Lang_FR="0"
Lang_DE="0"
Lang_IT="0"
Lang_ES="0"
Lang_PT="0"
Lang_NL="0"
Lang_TR="0"
Lang_RU="0"
Lang_EL="0"
Lang_JA="0"
/>
<VIP VIP_Default="0" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
SetupIRMS="IRMS"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" GetPathId="PathId" PathIdX="PMS1" PathId1="PMS1" SetPathId1="1">
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_BMP" CheckSum="CKS_AXOR" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_BMP
BMP_UseETXforChecksum="Y" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="1" BMP_IgnoreChecksum="N" BMP_SendENQ="0" BMP_SendLeadingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="5000" LLC_ACKTimeOut="5000" LLC_ENQRetries="3" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0" BMP_SupportEmbeddedACK="N" />
</PROT>
<PARSE Simulation="N" FktLogo="AOP" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
 <AOP UseUnits="0" AOP_COS_Bar="00" AOP_COS_Unbar="04" AOP_COS_Local="04" AOP_COS_National="04" AOP_DND_Enable_Value="2" AOP_Room_Or_GPIN="R" AOP_SendNightAudit="Y" AOP_SendVoicemailOpen="0"
AOP_Use8digitExtensions="0" AOP_ReplyWakeupResult="0"
AOP_ProcessIncomingCalls="0" AOP_DecimalPlaces="2">
<DID_PoolTypes AOP_TypeForPool_1="0" />
</AOP>
<Language Lang_Default="0" Lang_EN="0" Lang_FR="0" Lang_DE="0" Lang_IT="0" Lang_ES="0" Lang_PT="0" Lang_NL="0" Lang_TR="0" Lang_RU="0" Lang_EL="0" Lang_JA="0" />
<VIP VIP_Default="0" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5504" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="0" LogFileName=".\<FktLogo>_<ObjName>.RTF" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="v8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


Hardware Requirements

Attention !!!

IFC8 might have unexpected behaviour should you use a wrong moldered cable !!

Cable layout:

Interface PC Alcatel

25 pin 9 pin DCE DTE

2 3 TXD -----------> RXD 2 3

3 2 RXD <----------- TXD 3 2

7 5 GND ------------ GND 7 7

--- CTS 4

|

--- RTS 5

--- DSR 6

|

--- DTR 20

Note: A44 does NOT support TCP connections. It ONLY works with RS232.


Specific Interface Setup

Alcatel 4400 and Virtual Numbers:

The Alcatel system has a very special way to handle virtual numbers (called 'GPIN' on the Alcatel side).

Check-In commands are not executed to the telephone extension but on the virtual number.

Thus it is imperative that at least one virtual number is assigned during check-in. Else the guest can not use the telephone.

The Alcatel system knows different "Pool-Types".

The ones which IFC can support are:

1. DID-Pool

2. Non-DID Pool

3. Fax-Pool

DID is the abbreviation for "Direct-inward-dial". So all numbers belonging to a DID-pool can be directly dialled form outside the Hotel. Numbers belonging to a Non-DID pool can only be reached through the operator.

Fax-Number can normally be reached from the outside.

Setup:

In most installations you will find at least two pools on the Alcatel system. The third one (fax) can be considered 'optional'.

The following example is based on an installation with three pools:

1. Activate the special Alcatel DID handling in V8 under Global Settings\Interface:

A timeout of 10 seconds should be a good default.

2. Install the respective pools:

The Non-DID Pool:

The DID Pool:

The Fax pool:

Note:

Alcatel Priority order:

The DID Pool must always have a higher priority then the Non-DID pool. Thus V8 will automatically unassign the Non-DID as soon as a DID number is assigned by the user.

Setting this value to "0" means deactivating the priority feature. This would be the normal setting for fax-pools.

3. Enter the numbers for the pools:

4. Make sure that the GPIN option in IFC8 is enabled:

5. Configure the respective pool-types in IFC8:

NOTE: If you want to send Voice-Box On records (F-Record) then set PoolTypes to: 5/6/7, see Tooltip !!

6. ICFG_CMD_VN should be set to "4" to enable the functionality that IFC passes the PIN back to the PMS

7. Configure IPOL. The Pool-IDs for the Non-DID and DID numbers are linked to one extension type, each other pool is linked to the respective additional extension type.

Advanced Configuration:

Virtual Numbers and their respective PINs are stored in the PMS. However, it is as well possible to create messages which contain the PIN for the guest.

When the Hotel has a TV system you can pass the messages over to the TV system as well.

Note: ONLY activate this functionality if the Hotel really uses PINs and has understood the impact. e.g. Most Video System do not check for sharers when displaying messages, so a PIN would be displayed to all guests staying in the room.

Or: a Hotel uses default PINs so the returned PINs from the Alcatel will not be distributed to the guests.

Configuration:

Activate incoming TextMessages for the Alcatel by setting the fourth bit of ICFG_CMD_MSG.

Then configure the textmessages through IERR:

You do not necessarily need to send the PIN as part of the message if the Hotel does not want the PINs to be displayed to the guest.

And in order to send notifications to other systems activate notifications (IDRV_VM_NOTIFY).

Minibar Postings:

Example record:

0....+....1....+....2....+....3....+..

☻P  102  *3912345678            52♥

IFC8 will read the data as of position 12.

12-13 - Quantity

1419 - Articlenumber (IFC8 will trim this value)

IFC7 used to have multiple configuration abilities, but those did not work in most cases anyway.

Alcatel sends what the user enters on the phone, so the above is designed for a 2 digit quantity, so the user needs to start the entry with a "0" for most entries.

The above example would be processed as: MinibarArticle="345678" and MinibarArtNum="12":

<PostSimple xmlns="x-schema:PostSimpleSchema_I"
 RoomNum="102" RequestType="528" PostType="M"
 MinibarArtNum="12" MinibarArticle="345678" Date="070808"
 Time="134825"/>

New as of 8.7.1.19:

IFC8 can now parse minibar records which include a charge:

Format P<ext.><4dig Acc.Code><1dig Sel.><20dig Charge>

(AccountCoce can be larger depending on setting for extension-length)

To enable set A44_Minibar_Format="2" (and configure the charge multiplier to your needs.)

VIP Code translation:

The Alcatel system only knows two settings for the VIP-flag in the respective record: <blank> and "V"

In order to set a VIP status on the PBX you need to configure IFC8 like the following example:

Class-of-Service:

The default value for 'BAR is '0'

The default value for 'Unbar' is '' (nothing, do NOT use 'space')


Ifc8Config.Xml

Config.Xml as of IFC8.2.x.x

<IFC8>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="did" User="did" Alias="ifc-test" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
<IFC1 Required="Y" RefNum="20" WSNumX="PMS1" WSNumAndreas="PMS1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId" SetPathId1="1">
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_BMP" CheckSum="CKS_AXOR" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_BMP
BMP_UseETXforChecksum="Y" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="1" BMP_IgnoreChecksum="Y" BMP_SendENQ="0" BMP_SendLeadingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="5000" LLC_ACKTimeOut="5000" LLC_ENQRetries="3" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0" BMP_SupportEmbeddedACK="N" />
</PROT>
<PARSE Simulation="Y" FktLogo="A44" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
 <A44 UseUnits="0"
A44_COS_Bar="00" A44_COS_Unbar="04" A44_COS_Local="04" A44_COS_National="04" A44_DND_Enable_Value="2" A44_Room_Or_GPIN="G" A44_SendNightAudit="Y" A44_SendVoicemailOpen="1"
A44_Use8digitExtensions="0" A44_ReplyWakeupResult="0"
A44_ProcessIncomingCalls="0" A44_DecimalPlaces="2">
<DID_PoolTypes A44_TypeForPool_1="6" A44_TypeForPool_2="5" A44_TypeForPool_3="3" />
</A44>
<Language Lang_Default="1" Lang_EN="2" Lang_FR="3" Lang_DE="4" Lang_IT="5" Lang_ES="6" Lang_PT="7" Lang_NL="0" Lang_TR="0" Lang_RU="0" Lang_EL="0" Lang_JA="0" />
<VIP VIP_Default="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="320000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNumAndreas2="IFC1" WSNumAndreas="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5545" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" MonCharSet="0" LogLength="320000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" />
</PMS1>
</IFC8>

Config.Xml for IFC8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="A44"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="AXOR"

Layer2="LLC_BMP"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

XmlDecl="N"

UseUnits="0"

A44_COS_Bar="00"

A44_COS_Unbar="04"

A44_COS_Local="04"

A44_COS_National="04"

A44_DND_Enable_Value="2"

A44_SendVoicemailOpen="0"

A44_Use8digitExtensions="0"

A44_ProcessIncomingCalls="0"

A44_ReplyWakeupResult="0"

Lang_Default="0"

Lang_EA="1"

Lang_FR="2"

Lang_GE="3"

Lang_IT="4"

Lang_JA="5"

Lang_SP="6"

VIP_Default="1"

VIP_1="3"

VIP_2="4"

VIP_3="5"

BMP_SendEnq="0"

BMP_CheckSumPos="1"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

MsqTcpPort="5501"

MsqTcpDns="Y"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8"/>

</GENERAL>

</IFC8>


Communication Verification

Wake-Up Handling

----------------

<1-[0/0] M 3498 00000000000000000000 1215 6C

<--12:09:00 sent DATA

-1>[2/3]

-->12:09:00 received ACKNOWLEDGE

-1>[0/0]P 4004W P 3108011209O 1215 3E

-->12:09:00 received DATA

<1-[0/5]

<--12:09:00 sent ACKNOWLEDGE

-1>[0/0]P 4204W P 3108011209O 1215 3C

-->12:09:00 received DATA

<1-[0/5]

<--12:09:00 sent ACKNOWLEDGE

-1>[0/0]P 4104W P 3108011209O 1215 3F

-->12:09:00 received DATA

<1-[0/5]

<--12:09:00 sent ACKNOWLEDGE

-1>[0/0]P 4504W P 3108011209O 1215 3B

-->12:09:00 received DATA

<1-[0/5]

<--12:09:00 sent ACKNOWLEDGE


Ifc8Config.Xml

Config.Xml as of IFC8.2.x.x

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,N,8,1" CheckState="Y" />
<PROT CheckSum="N" Layer2="LLC_S20" RecMaxLength="64000" RecBuffTimeOut="2000" />
<PARSE Simulation="N" FktLogo="A52" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<A52 A52_UseAFS="Y" A52_DurationOffset="37" A52_RequestMode="Y" A52_Polling_TimeOut="3000" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5500" MsqTcpDns="N" SetupIRMS="IRMS" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS"/>
</GENERAL>
</IFC8>

Config.Xml for IFC8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="A52"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="N"

Layer2="LLC_S20"

A52_UseAFS="Y"

A52_DurationOffset="37"

A52_RequestMode="Y"

A52_Polling_TimeOut="3000"

RecMaxLength="64000"

RecBuffTimeOut="2000"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1" NoteIfcNum="[Typ=integer] the related Ifc_Num in ICFG-Table"

MsqTcpPort="5525"

MsqTcpDns="N"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8Live"

Alias="V8"/>

</GENERAL>

</IFC8>


IFC8Config.Xml

C/I port:

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1">
- <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
- <PARSE
FktLogo="A26"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ReInit_On_LnkErr="Y"
ParseCharSet="850"
CharPlaceHolder_Def="|GE_UML|46|46">
  <A26
A26_PortSelection="1"
A26_CommandTimeout="25000"
DoublePostingSize="1"
DoublePostingType="ProtRec"
DoublePostingFixAttr=""
/>
</PARSE>
  <MON
MonDetail="4"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="1"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
- <PROT
Layer2="LLC_BLK"
CheckSum="CKS_NONE"
RecMaxLength="64000"
RecBuffTimeOut="5000"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="N"
BLK_SendStartCharacter="0"
BLK_SendStopCharacter="2"
BLK_ReceiveStartCharacter="0"
BLK_ReceiveStopCharacter="9"
BLK_Remove_STX="0"
BLK_InitialDelay="100"
BLK_InterbyteDelay="100"
BLK_ReceiveOnTimeout="Y"
/>
</PROT>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
- <GENERAL
ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>

Charge port:

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1">
- <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
- <PARSE
FktLogo="A26"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ReInit_On_LnkErr="Y"
ParseCharSet="850"
CharPlaceHolder_Def="|GE_UML|46|46">
  <A26
A26_PortSelection="2"
A26_CommandTimeout="25000"
DoublePostingSize="1"
DoublePostingType="ProtRec"
DoublePostingFixAttr=""
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="1"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
- <PROT
Layer2="LLC_BLK"
CheckSum="CKS_NONE"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="N"
BLK_SendStartCharacter="0"
BLK_SendStopCharacter="2"
BLK_ReceiveStartCharacter="7"
BLK_ReceiveStopCharacter="10"
BLK_Remove_STX="0"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="N"
/>
</PROT>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
- <GENERAL
ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

C/I port:

- <IFC8>
-
<IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1">
- <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
- <PARSE
FktLogo="A24"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ParseCharSet="850"
CharPlaceHolder_Def="|||"
ReInit_On_LnkErr="Y">
  <A24
A24_PortSelection="0"
A24_CommandTimeout="10000"
A24_Login_Password="Testpwd"
/>
  <Language
Lang_Default="0"
Lang_EN="E"
Lang_FR="F"
Lang_DE="D"
Lang_IT="I"
Lang_ES="S"
Lang_PT="P"
Lang_NL="N"
Lang_TR="T"
Lang_RU="R"
Lang_EL="E"
Lang_JA="J"
/>
</PARSE>
  <MON
MonDetail="4"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="1"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
- <PROT
Layer2="LLC_BGT"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
<LLC_BGT />
</PROT>
</IFC1>
-
<PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
-
<GENERAL ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>

Charge Port:

- <IFC8>
-
<IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1">
- <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
- <PARSE
FktLogo="A24"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
- <A24
A24_PortSelection="1"
A24_StartSequence=""
A24_StartSeqCharList="17"
A24_StopSequence=""
A24_StopSeqCharList="">
<Validity
A24_MinimumLength="0"
A24_ValidPosition_1="0"
A24_ValidCharacter_1=""
A24_ValidPosition_2="0"
A24_ValidCharacter_2=""
A24_InvalidPosition_1="0"
A24_InvalidCharacter_1=""
A24_InvalidPosition_2="0"
A24_InvalidCharacter_2=""
/>
<Posting

A24_CheckForDoublePostings="N"
A24_ExtentionStart="5"
A24_ExtentionLength="5"
A24_Ext_RemoveLeadingZeros="0"
A24_CallStart="33"
A24_CallLength="23"
A24_CallEpilogLength="0"
A24_DialedNumber_AllowOnlyDigits="N"
A24_UnitStart="62"
A24_UnitLength="4"
A24_Unit_Multiplier="1"
A24_ChargeStart="0"
A24_ChargeLength="0"
A24_Charge_Multiplier="100"
A24_DateYear="0"
A24_DateMonth="0"
A24_DateDay="0"
A24_LengthDateInDays="0"
A24_TimeHour="80"
A24_TimeMinute="82"
A24_TimeSeconds="84"
A24_LengthHours="0"
A24_LengthMinutes="0"
A24_LengthSeconds="56"
A24_LengthSecLength="5"
A24_LengthHourLength="2"
A24_Length_Multiplier="1"
A24_TrunkStart="0"
A24_TrunkLength="0"
A24_TrunkAccessStart="0"
A24_TrunkAccessLength="0"
A24_Time12hourFormatStart="0"
A24_Time12hourFormatChar="P"
A24_DCSelector1Start="0"
A24_DCSelector1Length="0"
A24_DCSelector2Start="0"
A24_DCSelector2Length="0"
A24_CrossRef1Start="0"
A24_CrossRef1Length="0"
A24_CrossRef2Start="0"
A24_CrossRef2Length="0"
A24_DefaultExtension=""
A24_NoPost_Start_1="0"
A24_NoPost_Character_1=""
A24_NoPost_Start_2="0"
A24_NoPost_Character_2=""
A24_Subtotal1_Start="0"
A24_Subtotal1_Length="0"
A24_Subtotal2_Start="0"
A24_Subtotal2_Length="0"
A24_Subtotal3_Start="0"
A24_Subtotal3_Length="0"
A24_Subtotal4_Start="0"
A24_Subtotal4_Length="0"
/>
<Roomstatus

A24_RS_IdentifierStart="0"
A24_RS_IdentifierChar=""
A24_RS_ValueStart="0"
A24_RS_ValueLen="0"
/>
<Minibar
A24_Minibar_Mode="0"
A24_Minibar_IdentifierStart="0"
A24_Minibar_IdentifierChar=""
A24_Minibar_ValueStart="0"
A24_Minibar_ValueLen="0"
A24_Minibar_CountStart="0"
A24_Minibar_CountLen="0"
A24_Minibar_Multiplier="1"
/>
</A24>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="1"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
- <PROT
Layer2="LLC_BLK"
CheckSum="CKS_NONE"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="N"
BLK_SendStartCharacter="0"
BLK_SendStopCharacter="2"
BLK_ReceiveStartCharacter="7"
BLK_ReceiveStopCharacter="10"
BLK_Remove_STX="0"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="N"
/>
</PROT>
</IFC1>
-
<PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
-
<GENERAL ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef DefRef0="A24" />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum1="PMS1"
        WSNum2="PMS1"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1">
  <COMM
CheckState="Y"
Layer1="TCP/C"
Port="5002"
Param="LOCAL"
/>
<PROT ReInit_On_ExpEnq="N"
                Layer2="LLC_BMP"
                CheckSum="CKS_AXOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="1"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
/>
</PROT>
<PARSE Simulation="Y"
                FktLogo="AOM"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N">
  <AOM
UseUnits="0"
AOM_COS_Bar="00"
AOM_COS_Unbar="03"
AOM_COS_Local="01"
AOM_COS_National="02"
AOM_DND_Enable_Value="2"
AOM_ReplyWakeupResult="0"
AOM_ProcessIncomingCalls="0"
AOM_SwapDelay="5"
/>
  <Language
Lang_Default="0"
Lang_EA="1"
Lang_FR="2"
Lang_GE="3"
Lang_IT="4"
Lang_JA="5"
Lang_SP="6"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="128000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="-1"
MonCharSet="255"
/>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
/>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="128000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="-1"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Known Problems

In case every record from IFC is responded to with an "NACK" (or no communication can be established):

On the PC where the Alcatel system is running, you should find "OhlDriver.Conf" under C:\Program Files\Alcatel\OHL Driver.

In that config file you have a section "#AHL Parameters" And in there you should find an entry: CRC_PRESENCE=1

This needs to be set in order for the Alcatel system to check CRCs in the TCP-Alive records too and not only in all other records.

Check-In is sent but not executed on the Alcatel:

Carefully check your language settings and compare with the values which the Alcatel technician gave to you.

The Alcatel system will ignore all check-in commands which include a language value which is not defined on the Alcatel side.

Following is information from Alcatel about known problems on the Alcatel side as per Alcatel OMNI PCX version 1.8.2. :

(This information from Alcatel is dated 28/10/2005)

  • Default Wake up setting on Checkout: Currently on check-out an inactive wakeup time is set on a guest room in the OmniPCX Office and the default time is 12:05.

  • On check-in without wakeup programming, the operator set hospitality application displays this appointment as ACTIVE with this default time, but it is not really active. Be careful when leaving the wakeup menu. Do not press 'OK' it will activate the 12:05 wakeup!

  • Wake Up ticket doesn't contain the originator information; currently this field is filled with spaces.

  • SMDR ticket cost center field: After starting the driver, if no re-initialization frame for all devices is requested, the cost center field could be filled with spaces.

  • Currently there is no possibility to change the room clean/unclean status and the room problems on a checked-out or checked-in room. It is also not possible to view both room cleaning status and room problem on a checked-out room.

  • OHL Driver service doesn't respond in the correct way during start and stop. You can have an error during service stopping from the Windows service manager. After un-installation it is strongly recommended to restart your PC in order to take into account the driver removal.

  • The Configuration Application is not refreshed during a test sequence. Wait until the test succeeds or after timeout popup.

  • Meter Total Recall assignment charge SMDR does not contain the Booth phone extension number in order to make the association with the initial metering ticket. The current method to associate the two SMDR is by the date /time /duration/Trunk number and cost contained in the two SMDR

  • Using a numbering plan greater than 4 digits is not YET possible, metering ticket doesn't give good information over 4 digits.

  • DO NOT select the Printed fields of proof ` User8 ' and as this will cause the SMDR to malfunction.


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1"
                    CheckState="N">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_FDX"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="1000"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_FDX
LLC_ACKTimeOut="3000"
LLC_ENQTimeOut="3000"
LLC_ENQRetries="5"
LLC_ACKValidity="8000"
LLC_SendRetries="3"
FDX_PostACKDelay="0"
LLC_XONTimeout="3000"
/>
</PROT>
<PARSE FktLogo="LAS"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="20127"
                    CharPlaceHolder_Def="|||">
  <LAS
LAS_PortSelection="0"
LAS_RecordFormat="1"
LAS_CoveragePath="7777"
LAS_SwapOptions="0"
/>
  <Language
Lang_Default="01"
Lang_EN="02"
Lang_FR="03"
Lang_DE="04"
Lang_IT="05"
Lang_ES="06"
Lang_PT="07"
Lang_NL="08"
Lang_TR="09"
Lang_RU="10"
Lang_EL="11"
Lang_JA="12"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\SERV_PMS1.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml (Charge-Port)

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1"
                    CheckState="N">
<COM COM_BufferMode="N" />
</COMM>
<PARSE FktLogo="LAS"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="20127"
                    CharPlaceHolder_Def="|||">
<LAS LAS_PortSelection="1"
                            LAS_StartSequence=""
                            LAS_StopSequence="">
<Validity
LAS_MinimumLength="0"
LAS_ValidPosition_1="0"
LAS_ValidCharacter_1=""
LAS_ValidPosition_2="0"
LAS_ValidCharacter_2=""
LAS_InvalidPosition_1="0"
LAS_InvalidCharacter_1=""
LAS_InvalidPosition_2="0"
LAS_InvalidCharacter_2=""
/>
<Posting

LAS_CheckForDoublePostings="N"
LAS_ExtentionStart="8"
LAS_ExtentionLength="3"
LAS_CallStart="33"
LAS_CallLength="15"
LAS_CallEpilogLength="0"
LAS_UnitStart="26"
LAS_UnitLength="3"
LAS_Unit_Multiplier="1"
LAS_ChargeStart="0"
LAS_ChargeLength="0"
LAS_Charge_Multiplier="100"
LAS_DateYear="16"
LAS_DateMonth="14"
LAS_DateDay="12"
LAS_TimeHour="19"
LAS_TimeMinute="21"
LAS_TimeSeconds="23"
LAS_LengthHours="0"
LAS_LengthMinutes="0"
LAS_LengthSeconds="0"
LAS_LengthSecLength="0"
LAS_Length_Multiplier="1"
LAS_TrunkStart="0"
LAS_TrunkLength="0"
LAS_TrunkAccessStart="0"
LAS_TrunkAccessLength="0"
LAS_Time12hourFormatStart="0"
LAS_Time12hourFormatChar="P"
LAS_DCSelector1Start="0"
LAS_DCSelector1Length="0"
LAS_DCSelector2Start="0"
LAS_DCSelector2Length="0"
LAS_CrossRef1Start="0"
LAS_CrossRef1Length="0"
LAS_CrossRef2Start="0"
LAS_CrossRef2Length="0"
LAS_DefaultExtension=""
LAS_NoPost_Start_1="0"
LAS_NoPost_Character_1=""
LAS_NoPost_Start_2="0"
LAS_NoPost_Character_2=""
LAS_Subtotal1_Start="0"
LAS_Subtotal1_Length="0"
LAS_Subtotal2_Start="0"
LAS_Subtotal2_Length="0"
LAS_Subtotal3_Start="0"
LAS_Subtotal3_Length="0"
LAS_Subtotal4_Start="0"
LAS_Subtotal4_Length="0"
/>
<Roomstatus

LAS_RS_IdentifierStart="0"
LAS_RS_IdentifierChar=""
LAS_RS_ValueStart="0"
LAS_RS_ValueLen="0"
/>
<Minibar
LAS_Minibar_Mode="0"
LAS_Minibar_IdentifierStart="0"
LAS_Minibar_IdentifierChar=""
LAS_Minibar_ValueStart="0"
LAS_Minibar_ValueLen="0"
LAS_Minibar_CountStart="0"
LAS_Minibar_CountLen="0"
LAS_Minibar_Multiplier="1"
/>
</LAS>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
<PROT Layer2="LLC_UNI"
                    CheckSum="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_UNI
LLC_IgnoreChecksum="Y"
LLC_TimeOutWaitingForACK="3000"
UNI_StartCharacter="2"
UNI_StartCharList=""
UNI_StopCharacter="3"
UNI_RecordLength="-1"
UNI_CheckSumPos="0"
UNI_ACKAnswerDelay="0"
UNI_EnablePolling="N"
UNI_PollingSequence=""
UNI_PollingTimeout="5000"
UNI_AnswerENQWithACK="N"
UNI_AnswerRecordWithACK="N"
UNI_UseACKDefinition="N"
UNI_ENQ_ACKDefinition="6"
UNI_Record_ACKDefinition="6"
UNI_SendStartCharList=""
UNI_SendStopCharList=""
UNI_Remove_STX_ETX="0"
/>
</PROT>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\SERV_PMS1.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

Database-Swap:

The Avaya system can request a DB-Swap. Unfortunately the system keeps repeating the swap request every 8 seconds - and creation of a DB-Swap for big installations can take longer then 8 seconds for IFC8/Suite8/OPERA.

In order to avoid having multiple DB-Swaps running, you can set an option to ignore the incoming Swap-requests as of version 8.5.6.7.

Wake-Ups:

Avaya has added support for Wakeups in 2004 (LAS only, not for ATD). However, the functionality has the limitation that wakeups can only be set or deleted. There is no functionality for Wakeup-Answer records from the Avaya.

Wakeup requests will look as follows:

[04.21/16:49:31] => <WakeupSet xmlns="x-schema:WakeupSetSchema_O" Date="090422" Time="090000" RoomNum="4050"/>

123456789012345678901234567890

[04.21/16:49:31] <- HAWU104050NNN 0900 à

[04.21/16:49:31] ->

[04.21/16:49:31] -> È_AWU104050NNN 0900 °

[04.21/16:49:31] <-

[04.21/16:49:31] <MessLvl3> Record not supported

On Position 6 the 'process code' is sent, where IFC8 defines if the record is a request or a delete. Possible values:

Process Codes:

1. Request a wakeup call for the indicated RSN. (to switch)

2. Cancel a wakeup call for the indicated RSN. (to switch)

3. Request to send the wakeup information for the indicated RSN and request type for informational purposes only. (to switch)

4. The setup/canceling of the wakeup call was successful. (to PMS)

5. The cancellation of the wakeup call failed because no wakeup call exists for the indicated RSN (to PMS).

6. Response to process code 3. (to PMS)

7. Wakeup request failed because either the system limit or the 15-minute interval was exceeded. (to PMS)

8. Wakeup request failed because the requested time was too close to the current time. (to PMS)

The possible response records from the Avaya system are NOT processed by IFC8 (see example above) as there is no business logic on the interface side to react to such records.

"Record not supported" is NOT an error message, but just signals to the supporter that IFC8 has just received a record which is not processed.


Specific Interface Setup

Specific Interface Setup for ATD

The Config.XML shows multiple settings for the lowlevel. Do NOT touch any of them, if they don't have a textbox telling you, what you could change there.

DB-Swap behavior:

The Avaya system sends a record-type "70" in most cases on restart of the communication.

IFC8s behavior:

Record-Type 70 with ‚0‘ at 4th position (70x0…..) - IFC8 does not send any response.

Record-Type 70 with ‚1‘ at 4th position (70x1…..) - IFC8 sends DB Swap on/off. (Just the start and end record. No DB-Swap is initiated)

Record-Type 70 with ‚2‘ at 4th position (70x2…..) - IFC8 initiates a DB-Swap but: sending the "DB Swap on/off" record is now done in dependency of the value in the Flag ATD_SendSwapOnOff.


Ifc8Config.Xml

Config.Xml as of IFC8.2.x.x

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,N,8,1" CheckState="Y" />
<PROT CheckSum="CKS_XOR" Layer2="LLC_BMP" RecMaxLength="64000" RecBuffTimeOut="2000">
 <LLC_BMP
BMP_UseSTXforChecksum="N" BMP_UseETXforChecksum="Y"
BMP_SendEnq="0" BMP_CheckSumPos="0" BMP_SendLeadingZero="0" BMP_AnswerEnqWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreChecksum="N" BMP_IgnoreNAKs="N" BMP_AddDLEtoCtrlChars="Y"
LLC_ACKTimeOut="8000" LLC_EnqTimeOut="2000" LLC_EnqRetries="5" BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" />
</PROT>
<PARSE Simulation="N" FktLogo="ATD" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<ATD ATD_SendSwapOnOff="Y" ATD_TransparentMode="Y" ATD_CheckoutBeforeNameChange="N" ATD_CoveragePath ="00?0" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="32000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" SetupIRMS="IRMS" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="32000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>

Config.Xml for IFC8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="ATD"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="CKS_XOR"

Layer2="LLC_BMP"

RecMaxLength="64000"

ATD_SendSwapOnOff="Y"

ATD_TransparentMode="Y"

ATD_CheckoutBeforeNameChange="N"

BMP_UseSTXforChecksum="N"

BMP_UseETXforChecksum="Y"

BMP_SendEnq="0"

BMP_CheckSumPos="0"

BMP_SendLeadingZero="0"

BMP_AnswerEnqWithNAK="0"

BMP_StartRetriesWithENQ="0"

BMP_IgnoreChecksum="N"

BMP_IgnoreNAKs="N"

BMP_AddDLEtoCtrlChars="Y"

LLC_ACKTimeOut="8000"

LLC_EnqRetries="5"

RecBuffTimeOut="2000"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

Log="Y"

MonDetail="2"

MonType="TAB"

LogLength="32000"

Required="Y"

FktLogo="SERV"

IfcNum="1" NoteIfcNum="[Typ=integer] the related Ifc_Num in ICFG-Table"

MsqTcpPort="5501"

MsqTcpDns="N"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="v8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Specific Interface Setup

This interface is based on FIAS and does not need any specific setup.


Ifc8Config.Xml

Example Configuration for the PMSI-Port:

<IFC8>
<IFC1 ConfAllowed="Y" Simulation="N" Log="Y" MonDetail="3" MonType="CHR" LogLength="500000" Required="Y" PathId1="PMS1" PathIdX="PMS1" RefNum="20" GetPathId="PathId" SetPathId1="1">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" LogFileName=".\<FktLogo>_<ObjName>.RTF" />
<PARSE FktLogo="SLV" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<Language Lang_Default="0" Lang_EA="0" Lang_FR="0" Lang_GE="0" Lang_IT="0" Lang_JA="0" Lang_SP="0" Lang_EN="0" Lang_DE="0" Lang_ES="0" Lang_PT="0" Lang_NL="0" Lang_TR="0" Lang_RU="0" Lang_EL="0" />
 <SLV SLV_NameFieldLength ="23"
SLV_PMSI_or_CDR_port ="1"
SLV_Checkout_NameFieldContent ="0"
SLV_Use_Call_Party_Name_Display ="Y"
SLV_Send_GuestdataChange ="Y"
SLV_Send_LanguageCode ="Y"
SLV_Send_VIPCode ="N">
<ChargeRecord SLV_ExtentionStart="12" SLV_ExtentionLength="7" SLV_CallStart="61" SLV_CallLength="27" SLV_UnitStart="6" SLV_UnitLength="5" SLV_DateMonth="40" SLV_DateDay="43" SLV_TimeHour="46" SLV_TimeMinute="49" SLV_LengthHours="52" SLV_LengthMinutes="55" SLV_LengthSeconds="58" SLV_TrunkStart="20" SLV_TrunkLength="3" SLV_DCSelectorStart="0" SLV_DCSelectorLength="0" />
</SLV>
<VIP VIP_Default="0" />
</PARSE>
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_BMP" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_BMP
BMP_UseETXforChecksum="Y" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0" BMP_IgnoreChecksum="Y" BMP_SendENQ="0" BMP_SendLeadingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="3000" LLC_ACKTimeOut="3000" LLC_ENQRetries="3" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" BMP_IgnoreENQWhileSending="Y"
BMP_STXSelector="0"
/>
</PROT>
<COMM CheckState="Y" Layer1="COM" Port="1" Param="1200,N,7,2" />
</IFC1>
<PMS1 ConfAllowed="Y" Simulation="Y" Log="Y" MonDetail="3" MonType="CHR" LogLength="500000" Required="Y" FktLogo="SERV" IfcNum="1" MsqTcpPort="5500" MsqTcpDns="N" Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckSum="N" Layer2="N" RecMaxLength="64000" CheckState="Y" DatascopeType="CHR" RecBuffTimeOut="500" RefNum="20" WSNum1="IFC1" WSNumX="IFC1" XmlDecl="N">
<MON MonShowState="N" MonType="CHR" MonDetail="3" MonCharSet="0" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" />
<PARSE FktLogo="SERV" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<PROT Layer2="LLC_SIM" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS" CheckState="Y" Port="GlobalDbsConnect" Param="0">
<DBS DbsDebugMode="N" MsqTcpDns="N" MsqTcpPort="5599" />
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Setup of the SLV

Hardware:

The SL1 needs two serial ports, one for Call Charge data and one for check in / check out and other messages.

The SL1 has 25 pin female connectors, so the cable needs to be male with standard straight through connections of pins 2,3,4,5,6,7,8,20. If you only have a 3 wire cable you can jumper pins 4 and 5 as well as pins 6 and 20 on the SL1 side.

Framing:

The SLV has a very 'special' handling of parity bits.

It may very well be that during upgrades from IFC7 you need to apply different settings. (e.g. IFC used "1200,E,7,1 and IFC8 will only work with "1200,N,7,2")

Ports:

The SL1 needs two communication ports, called 'CDR' for transmitting call charge data and 'PMSI' for controlling Class of Service, Wakeup Calls, Message Waiting and Room Status.

Messages on both ports are exchanged using FKT=SLV. However:

You can NOT open both ports from one instance of IFC8. You need to install and start two instances of IFC8, both running with FKT=SLV.

The definition what the respective instance will do is configured through:

SLV_PMSI_or_CDR_port="1"

Valid values:

"1" = PMSI port

"2" = CMDR port

(value "3" has already been added which would combine all functionality into one port. Do NOT use this, as the Meridian is not able to support that. - Maybe it does in the future.)

LowLevel:

NOTE: The lowlevel of the SLV needs to be changed depending on the port definition:

For SLV_PMSI_or_CDR_port="1" set Layer2="LLC_BMP" (default)

e.g.:

<PROT ReInit_On_ExpEnq="N" Layer2="LLC_BMP" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="500">

When you change SLV_PMSI_or_CDR_port to "2", will IFC8 not change the layer2 for the port automatically.

This needs to be changed to LLC_SLVCR. (CheckSum should be set to "N" as the chargerecords don't have a checksum. )

<PROT ReInit_On_ExpEnq="N" Layer2="LLC_SLVCDR" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500">

C/I Record:

All configuration possibilities of IFC7 have been added to IFC8. Please check the respective parameters and their tooltips.

Roomstatus:

The SLV sends the actual status as 2 char value, yet IFC8 expects the status as one digit numeric value.

As the values are hardcoded on the SLV side, we are translating them hardcoded in IFC to the following:

Value from the SLV: | Translates to (This is the value you need to configure in Suite8/OPERA): | Meaning on the SLV:
RE | 4 | Clean/Occupied
PR | 2 | Dirty/Occupied
PA | 3 | Clean/Vacant
FA | 1 | Dirty/Vacant
CL | 8 | <not identified>
SK | 9 | <not identified>
NS | 5 | <not identified>

The values CL and SK from the SLV are supported since IFC8 version 8.5.0.12.

Please be careful when using them, as they mean "Out-or-Order" on some Meridian documentation, which we do not allow through the Interface.

NS is supported as of IFC8 version 8.7.2.9. and is converted to value="5".

So make sure you have the respective values added in the respective lines in the front office configuration for IFC roomstatus changes.

Maid-Id: The Meridien system can be equipped with a special adapter which enables transfer of the Maid-id during the Roomstatus records. As of IFC8 version 8.7.2.13 IFC8 will process this value. There is no extra configuration necessary, IFC8 will dynamically find the ID if exists.

Transferred Calls:

as of 8.7.1.10 the following parameters are available:

SLV - options for transferred calls

Parameter-name : SLV_TransferredCall_Mode

Parameter-values: 0 post first part and second part separately (default)

1 post only second part

Parameter-name : SLV_TransferredCall_Duration

Parameter-values: 0 add duration of first and second part (default)

1 ignore duration of first part for posting of second part


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum1="PMS1"
        WSNum2="PMS1"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId">
  <COMM
CheckState="Y"
Layer1="COM"
Port="1"
Param="9600,N,8,1"
/>
<PROT ReInit_On_ExpEnq="N"
                Layer2="LLC_ACOM"
                CheckSum="CKS_NONE"
                RecMaxLength="64000"
                RecBuffTimeOut="500">
  <LLC_ACOM
LLC_IgnoreChecksum="N"
LLC_ACKTimeOut="5000"
ACOM_StartupMode="0"
ACOM_XOFF_ACK="0"
LLC_SendRetries="3"
/>
</PROT>
<PARSE Simulation="Y"
                FktLogo="TNA"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N">
  <TNA
TNA_PortMode="0"
TNA_SendLength="10"
TNA_ChargeFormat="0"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="255"
/>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5541"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
/>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
DefRef0="TNA"
Date="(Date)"
GuestShareflag="N"
RoomNum="101"
Time="(Time)"
/>
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 ConfAllowed="Y"
        Simulation="N"
        Log="Y"
        Required="Y"
        GetPathId="PathId"
        PathId1="PMS1"
        PathIdX="PMS1"
        RefNum="20"
        SetPathId1="1"
        ExportFktList="ExportFktList"
        PathId2="PMS1"
        SetPathId2="2"
        PathId3="PMS1"
        SetPathId3="3"
        ObjCaption="IFC1">
  <MON
MonShowState="N"
MonType="CHR"
MonDetail="3"
LogLength="2000000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\TNS_IFC1.RTF"
LogFileType="RTF"
MonCharSet="256"
/>
<PARSE FktLogo="TNS"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                GetParseConfig="GetParseConfig"
                LA_TimeOut="3000"
                ReInit_On_LnkErr="P"
                ParseCharSet="20127"
                CharPlaceHolder_Def="|GE_UML||">
  <TNS
TNS_MandantenNummer="01"
TNS_IntegralKennung="TN"
TNS_WakeSource="0"
TNS_CalculateWakeDate="N"
DoublePostingSize="0"
/>
  <Language
Lang_Default="0"
Lang_EN="0"
Lang_FR="0"
Lang_DE="0"
Lang_IT="0"
Lang_ES="0"
Lang_PT="0"
Lang_NL="0"
Lang_TR="0"
Lang_RU="0"
Lang_EL="0"
Lang_JA="0"
/>
</PARSE>
<PROT Layer2="LLC_BSC"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="X">
  <LLC_BSC
LLC_MasterSlave="S"
LLC_AlternatingACK="Y"
LLC_ENQTimeOut="3000"
LLC_ACKTimeOut="5000"
LLC_DataTimeOut="10000"
LLC_ENQRetries="5"
BSC_SyncCharacterList=""
/>
</PROT>
  <COMM
CheckState="Y"
Layer1="TCP/S"
Port="3333"
Param="LOCAL"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_FRIEDEMANN="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" />
</IFC1>
<PMS1 ConfAllowed="Y"
        Simulation="Y"
        Log="Y"
        MonDetail="3"
        MonType="CHR"
        LogLength="500000"
        Required="Y"
        FktLogo="SERV"
        IfcNum="1"
        MsqTcpPort="5500"
        MsqTcpDns="N"
        Layer1="DBS"
        Port="GlobalDbsConnect"
        Param="0"
        CheckSum="N"
        Layer2="N"
        RecMaxLength="64000"
        CheckState="Y"
        DatascopeType="CHR"
        RecBuffTimeOut="500"
        RefNum="20"
        WSNum1="IFC1"
        WSNumX="IFC1"
        XmlDecl="N"
        ObjCaption="PMS1">
  <MON
MonShowState="N"
MonType="CHR"
MonDetail="3"
MonCharSet="0"
LogLength="2000000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\SERV_PMS1.RTF"
LogFileType="RTF"
/>
<PARSE FktLogo="SERV"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
<PROT Layer2="LLC_SIM"
                CheckSum="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS"
                CheckState="Y"
                Port="GlobalDbsConnect"
                Param="0">
  <DBS
DbsDebugMode="N"
MsqTcpDns="N"
MsqTcpPort="5234"
/>
</COMM>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_FRIEDEMANN="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" />
</PMS1>
<GENERAL ConfAllowed="Y"
        ErrorEMail="N"
        PrgCaption="IFC8"
        ServiceInst="N">
  <GlobalDbsConnect0
Pwd="live"
User="v8live"
Alias="v8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            GetPathId="PathId"
            PathIdX="PMS1">
  <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="Y"
/>
<PROT Layer2="LLC_BSC"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BSC
LLC_MasterSlave="M"
LLC_AlternatingACK="Y"
LLC_ENQTimeOut="3000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="5"
/>
</PROT>
<PARSE FktLogo="TNM"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N">
<TNM TNM_StartRecords="0" TNM_ChargeDateFormat="0" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="255"
/>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N"
/>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
ClassofService="3"
DefRef0="TNM"
Date="(Date)"
GuestFormattedname="Testname-----"
GuestName="Test"
GuestShareflag="N"
GuestTitle="Prof."
GuestVip="V"
PostType="C"
RoomNum="101"
SwapFlag=""
Time="(Time)"
UserID="Eule"
WSNum="1"
/>
</GENERAL>
</IFC8>


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1">
- <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
- <PROT
Layer2="LLC_BMP"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
LLC_SendRetries="5"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
- <PARSE
FktLogo="TNU"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ParseCharSet="20127"
CharPlaceHolder_Def="|GE_UML||">
- <TNU
TNU_FixedChargeForLocalCalls="Y"
TNU_SendVoicemailTimePeriod="Y"
TNU_LocalCalls_DefaultCharge="352"
TNU_LocalCalls_MaxDigits="4"
TNU_LocalCalls_MinUnits="2">
<VM_TimePeriod

TNU_VM_TimePeriod_Default=""
TNU_VM_TimePeriod_1="T09002200"
TNU_VM_TimePeriod_2="N"
TNU_VM_TimePeriod_3="T08301945"
TNU_VM_TimePeriod_4=""
TNU_VM_TimePeriod_0=""
/>
</TNU>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="200000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_SAM="(0) Use standard Printer definition" />
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_SAM="(0) Use standard Printer definition" />
</PMS1>
- <GENERAL
ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface setup

Char Conexion PMS "FIAS_CNX"

This interface is based on FIAS and does not need specific configuration.


Specific Interface Setup

CIE - Infoserv "FIAS_CIE"

This interface is based on FIAS and does not need specific configuration.


Ifc8Config.Xml

Sample Configuration file for "Hitachi HD/HCX 5000" and it's respective clones:

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_BMP" CheckSum="CKS_NONE" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_BMP
BMP_UseETXforChecksum="N" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0" BMP_IgnoreChecksum="Y" BMP_SendENQ="1" BMP_SendLeadingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="1"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="3000" LLC_ACKTimeOut="5000" LLC_ENQRetries="3" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="100" BMP_PostACKDelay="0" BMP_IgnoreENQWhileSending="Y"
BMP_STXSelector="0"
/>
</PROT>
<PARSE Simulation="N" FktLogo="HCX" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<HCX HCX_Model ="1" HCX_SendNameChange ="Y" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="32000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="N" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="32000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef Date="(Date)" GuestNum="99" GuestArrival="(Date)" GuestDeparture="(Date)" GuestGroupNum="9876543" GuestLanguage="GE" GuestName="Test" GuestShareflag="N" GuestTitle="Prof." GuestVip="V" RoomNum="101" SwapFlag="" SeminarChannel="11" TotalAmount="1000" Time="(Time)" Tvright="TU" VideoRight="VA" />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
       RefNum="20"
       WSNum99="PMS1"
       WSNumX="PMS1"
       GetPathId="PathId"
       PathIdX="PMS1">
<COMM Layer1="COM"
           Port="1"
           Param="9600,N,8,1"
           CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PARSE FktLogo="DP3"
           Simulation="Y"
           XmlPackEmptyAttr="Y"
           XmlDecl="N"
           InLineSchema="N"
           GetParseConfig="GetParseConfig"
           LA_TimeOut="3000"
           ParseCharSet="20127"
           CharPlaceHolder_Def="|GE_UML|46|46">
  <DP3
DP3_Send_Guestname="Y"
DoublePostingSize="1"
DoublePostingType="ProtRec"
DoublePostingFixAttr="" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
  <PRN
PrinterName="(0)
No Printer" PaperTray="(0)
No Printer" PageSize="0"
PrinterName_SAM="(-1) No Printer"
FormatOptions="(112)
NewPage+CenterPage"
PrinterName_MORDOR="(0) Use
standard Printer definition" />
<PROT Layer2="LLC_FDX"
           CheckSum="CKS_XOR"
           RecMaxLength="64000"
           RecBuffTimeOut="5000"
           MaxStackCount="32"
           ReInit_On_ExpEnq="X">
  <LLC_FDX
LLC_ACKTimeOut="5000"
LLC_ENQTimeOut="3000"
LLC_ENQRetries="3"
LLC_ACKValidity="3000"
LLC_SendRetries="3"
FDX_PostACKDelay="0"
LLC_XONTimeout="10000"
/>
</PROT>
</IFC1>
<PMS1 Required="Y"
       RefNum="20"
       WSNum1="IFC1"
       WSNum2="IFC1"
       WSNumX="IFC1">
<COMM Layer1="DBS"
           Port="GlobalDbsConnect"
           Param="0"
           CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
           Layer2="N"
           RecMaxLength="64000"
           RecBuffTimeOut="500"
           MaxStackCount="32"
           ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
           FktLogo="SERV"
           XmlDecl="N"
           XmlPackEmptyAttr="Y"
           InLineSchema="N"
           ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
  <PRN
PrinterName="(0)
No Printer" PaperTray="(0)
No Printer" PageSize="0"
PrinterName_SAM="(-1) No Printer"
FormatOptions="(112)
NewPage+CenterPage"
PrinterName_MORDOR="(0) Use
standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
       ErrorEMail="N"
       PrgCaption="IFC8"
       ServiceInst="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

Config.Xml as of IFC8.2.x.x

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,N,8,1" CheckState="N" />
<PROT CheckSum="DAS" Layer2="LLC_DAS" RecMaxLength="64000" RecBuffTimeOut="2000">
<LLC_DAS LLC_IgnoreChecksum="Y" LLC_TimeOutWaitingForACK="3000" LLC_SendRetries="4" LLC_EnqRetries="5" />
</PROT>
<PARSE Simulation="N" FktLogo="DAS" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<DAS DAS_UseExtendedRecordsIDs="Y" DAS_RoomStatusRecordFormat="0" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>

Config.Xml for IFC8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="DAS"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="DAS"

Layer2="LLC_DAS"

LLC_IgnoreChecksum="Y"

LLC_TimeOutWaitingForACK="3000"

LLC_SendRetries="4"

DAS_UseExtendedRecordsIDs="Y"

DAS_RoomStatusRecordFormat="0"

RecMaxLength="64000"

RecBuffTimeOut="2000"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5532"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="LIVE"

User="V8LIVE"

Alias="V8" />

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="10000"
LLC_ACKTimeOut="10000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<PARSE FktLogo="DPS"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
  <DPS
DPS_PortSelection="1"
DPS_SwapMode="1"
DPS_UseVoiceMail="1"
DPS_SharerHandling="1"
DPS_WakeupCallHandling="1"
DPS_Charge_Multiplier="200"
DoublePostingSize="0"
/>
  <Language
Lang_Default="0"
Lang_EN="1"
Lang_FR="2"
Lang_DE="3"
Lang_IT="4"
Lang_ES="5"
Lang_PT="6"
Lang_NL="7"
Lang_TR="8"
Lang_RU="9"
Lang_EL="A"
Lang_JA="B"
/>
  <VIP
VIP_Default="0"
VIP_0="0"
VIP_1="1"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="5000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="200000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

NSG emulated Siemens Caracas, specific settings have the same logic as SCV.

Only difference is, that there is no "NSG_VERSION_MODE" attribute, as NSG is hardcoded to the "old" version of Caracas (IFC7-FKT=NCC).

Contact Details:

Jens Müggenborg

Leiter Geschäftsstelle Hamburg

Sikom Software GmbH

Flughafenstrasse 52a

22335 Hamburg

Tel.: +49-40-532 99 - 370

Fax: +49-40-532 99 - 100

Mobil: +49-172-290 17 94

e-Mail : j.mueggenborg@sikom.de

internet: www.sikom.de


Ifc8Config.XML

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="NSG"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="LRC"

Layer2="LLC_FDX"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

RefNum="20"

XmlDecl="N"

Lang_Default="01" Note_Lang_x="Languagecode translation from FIAS to External System"

Lang_EA="01"

Lang_FR="02"

Lang_GE="03"

Lang_IT="04"

Lang_JA="05"

Lang_SP="06"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1"

NSG_TimeRecordOffset="3600000"

NSG_AmtPin="8"

NSG_MessageType="3"

NSG_SendBindOnStartup="1"

NSG_VersionMode="0"

NSG_WakeupMode="1"

NSG_ChargePosition="0"

NSG_UseUnits="0">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5524"

MsqTcpDns="N"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8Live"

Alias="V8"/>

</GENERAL>

</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            GetPathId="PathId"
            PathIdX="PMS1">
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_JIS"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="35000"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_JIS
JIS_ENQ_String="48;64;5"
JIS_Record_Header="48;64;15"
JIS_AnswerRVIWithEOT="N"
LLC_ENQTimeOut="5000"
LLC_ENQRetries="60"
/>
</PROT>
<PARSE FktLogo="IWA"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|GE_UML|46|46">
  <IWA
IWA_Msg_Source_Extension="000000"
IWA_COS_Unbar="0"
IWA_COS_Bar="7"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="200000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<PARSE FktLogo="ER9"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
<ER9 DoublePostingSize="0" />
</PARSE>
  <MON
MonDetail="4"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
<PROT Layer2="LLC_ERI"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_ERI
ERI_IgnoreChecksum="N"
ERI_PollingTimeout="5000"
LLC_SendRetries="3"
LLC_ACKTimeOut="3000"
LLC_ENQTimeOut="3000"
/>
</PROT>
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8"
            ServiceInst="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
RoomNum="101"
PathId="1"
GuestShareflag="N"
Date="(Date)"
Time="(Time)"
SwapFlag=""
MessageLightstatus="0"
ClassofService="3"
/>
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            GetPathId="PathId"
            PathIdX="PMS1">
<COMM Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1"
                    CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_BMP"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X"
                    CheckSum="CKS_XOR">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_IgnoreChecksum="N"
BMP_SendENQ="1"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
BMP_CheckSumPos="0"
/>
</PROT>
<PARSE FktLogo="A15"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="20127"
                    CharPlaceHolder_Def="|GE_UML|46|46">
<A15 A15_PortSelection="1" DoublePostingSize="0" />
  <Language
Lang_Default="99"
Lang_EN="1"
Lang_FR="2"
Lang_DE="3"
Lang_IT="4"
Lang_ES="5"
Lang_PT="6"
Lang_NL="7"
Lang_TR="8"
Lang_RU="9"
Lang_EL="10"
Lang_JA="11"
/>
<VIP VIP_Default="0" VIP_1="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="FOV8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

ChargeRecord in Switzerland:

With the latest versions EBP can send a chargerecord containing an amount:

This amount equals the amount charged by the Swiss Telecom. To mulitply this with a factor, add DC-selection by extension (IDRV.IDRV_IDOC_SELECT="E") and then add the respective records to IDCO.

e.g. for type="H" use multiplier = "1.00" and e.g. for type="R" use multiplier="1,5".


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
        GetPathId="PathId"
        PathIdX="PMS1"
        RefNum="20">
<PRN PrinterName="(0) No Printer" FormatOptions="(112) NewPage+CenterPage" PageSize="0" PrinterName_FRIEDEMANN="(0) Use standard Printer definition" />
  <MON
MonShowState="N"
MonType="CHR"
MonDetail="3"
LogLength="2000000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PARSE FktLogo="EBP"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                GetParseConfig="GetParseConfig"
                LA_TimeOut="3000"
                ParseCharSet="20127"
                CharPlaceHolder_Def="|GE_UML||">
<EBP EBP_UseCLI3Charge="0" EBP_IgnoreWakeupOrder="1" />
  <Language
Lang_Default="0"
Lang_EN="0"
Lang_FR="0"
Lang_DE="0"
Lang_IT="0"
Lang_ES="0"
Lang_PT="0"
Lang_NL="0"
Lang_TR="0"
Lang_RU="0"
Lang_EL="0"
Lang_JA="0"
/>
<VIP VIP_Default="0" />
</PARSE>
<PROT Layer2="LLC_EBP"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="X">
  <LLC_EBP
EBP_CheckSumPos="0"
EBP_AnswerENQWithNAK="0"
LLC_ENQTimeOut="3000"
LLC_ENQRetries="4"
/>
</PROT>
<COMM Layer1="COM"
                CheckState="Y"
                Port="1"
                Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
<PMS1 Required="Y"
        WSNumX="IFC1"
        RefNum="20">
<PRN PrinterName="(0) No Printer" FormatOptions="(112) NewPage+CenterPage" PageSize="0" PrinterName_FRIEDEMANN="(0) Use standard Printer definition" />
  <MON
MonShowState="N"
MonType="CHR"
MonDetail="3"
MonCharSet="256"
LogLength="2000000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PARSE FktLogo="SERV"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
<PROT Layer2="LLC_SIM"
                CheckSum="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="X">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS"
                CheckState="Y"
                Port="GlobalDbsConnect"
                Param="0">
  <DBS
DbsDebugMode="N"
MsqTcpDns="N"
MsqTcpPort="5501"
/>
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y"
        PrgCaption="IFC8"
        ErrorEMail="N">
<SimAttrDef />
  <GlobalDbsConnect0
DbsConfig="ICFG(0)"
User="V8live"
Alias="v8"
Pwd="live"
/>
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
  <PARSE
FktLogo="ER1"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
<ER1 DoublePostingSize="0" />
</PARSE>
  <MON
MonDetail="4"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
<PROT Layer2="LLC_ERI"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_ERI
ERI_IgnoreChecksum="N"
ERI_PollingTimeout="5000"
LLC_SendRetries="3"
LLC_ACKTimeOut="3000"
LLC_ENQTimeOut="3000"
/>
</PROT>
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8"
            ServiceInst="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
RoomNum="101"
GuestShareflag="N"
SwapFlag=""
MessageLightstatus="0"
ClassofService="3"
Date="(Date)"
Time="(Time)"
/>
</GENERAL>
</IFC8>


Specific Interface Setup

The Ericsson MD-100 is communicating on two separate ports.

Two serial ports are needed. One for charge posting and one for the other features. If an external call accounting system is installed, normally no additional serial port is needed.

Communication for both ports has been added to the same driver in IFC8.

In the Config.Xml you need to define, which functionality IFC should support:

Outgoing or incoming.

However: you need to start two Interfaces with the same FKT-Logo (and thus same license), as each can only support one of the ports. IFC will dynamically create the schemas depending on your settings.

M11_RecordFormat="1"

"0" - all records hardcoded in IFC, no name will be sent in C/I record, M11_RecCfg_??? are ignored

"1" - all records hardcoded in IFC, name will be sent in C/I record, M11_RecCfg_??? are ignored

"2" - all records hardcoded in IFC, name will be sent in C/I record, M11_RecCfg_??? are ignored

"9" - Now will IFC read all M11_RecCfg_???

M11_RecCfg_Option="0"

Note: This is only used, if M11_RecordFormat="9" !!!

"0" - No name will be sent

"1" - Name will be sent

M11_RecCfg_CompressedFormat="N"

is an exemption. This has to be configured regardless.


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="M11"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="CKS_XOR"

Layer2="LLC_BMP"

BMP_UseSTXforChecksum="N"

BMP_UseETXforChecksum="Y"

BMP_SendEnq="1"

BMP_CheckSumPos="0"

BMP_SendLeadingZero="0"

BMP_AnswerEnqWithNAK="0"

BMP_StartRetriesWithENQ="0"

BMP_IgnoreChecksum="N"

BMP_IgnoreNAKs="N"

BMP_AddDLEtoCtrlChars="N"

BMP_ACKAnswerDelay="0"

BMP_PostACKDelay="0"

LLC_ACKTimeOut="5000"

LLC_EnqTimeOut="8000"

LLC_EnqRetries="5"

RecBuffTimeOut="2000"

RecMaxLength="64000"

M11_ProcessIncomingRecords="N"

M11_SendOutgoingRecords="Y"

M11_ChargeDateFormat="0"

M11_UnitPosition="0"

M11_RecordFormat="1"

M11_RecCfg_Option="0"

M11_RecCfg_Delimiter="/"

M11_RecCfg_CheckIn_1="10"

M11_RecCfg_CheckIn_2="03"

M11_RecCfg_CheckOut_1="20"

M11_RecCfg_CheckOut_2="04"

M11_RecCfg_CheckOut_3="CO"

M11_RecCfg_Unbar_1="20"

M11_RecCfg_Unbar_2_Local="03"

M11_RecCfg_Unbar_2_National="03"

M11_RecCfg_Unbar_2_All="03"

M11_RecCfg_Unbar_3="01"

M11_RecCfg_Bar_1="20"

M11_RecCfg_Bar_2="04"

M11_RecCfg_Bar_3="00"

M11_RecCfg_MessageOn_1="30"

M11_RecCfg_MessageOn_2="01"

M11_RecCfg_MessageOff_1="30"

M11_RecCfg_MessageOff_2="00"

M11_RecCfg_Wakeup="40"

M11_RecCfg_NameChange="50"

M11_RecCfg_DND="60"

M11_RecCfg_CompressedFormat="N"

Lang_Default="0"

Lang_EA="1"

Lang_FR="2"

Lang_GE="3"

Lang_IT="4"

Lang_JA="5"

Lang_SP="6"

VIP_Default="1"

VIP_1="3"

VIP_2="4"

VIP_3="5"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5593"

MsqTcpDns="N"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="v8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1">
<PARSE FktLogo="M18"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                GetParseConfig="GetParseConfig"
                ParseCharSet="20127"
                CharPlaceHolder_Def="|GE_UML||">
<M18 />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
<PROT Layer2="LLC_M18"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="N">
<LLC_M18 M18_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="COM"
                CheckState="N"
                Port="1"
                Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y"
        ErrorEMail="N"
        PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum2="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM CheckState="N"
                    Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="8000"
LLC_ACKTimeOut="3000"
LLC_ENQRetries="4"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_IgnoreRecsWhileWaitForACK="N"
/>
</PROT>
<PARSE FktLogo="FCS"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
  <FCS
BillViewMultiply="1"
FCS_FormatSelector="1"
FCS_ChargeRecordFormat="1"
FCS_GC_OccupancyFlag="2"
FCS_PortSelection="0"
FCS_MessageMode="1"
FCS_DID_Length="8"
/>
  <Language
Lang_Default="0"
Lang_EN="1"
Lang_FR="2"
Lang_DE="3"
Lang_IT="4"
Lang_ES="5"
Lang_PT="6"
Lang_NL="7"
Lang_TR="8"
Lang_RU="9"
Lang_EL="10"
Lang_JA="11"
/>
<VIP VIP_Default="0" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="128000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="255"
/>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="128000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="super"
User="V8Live"
Alias="FOV8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<PARSE FktLogo="F96"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    ReInit_On_LnkErr="N"
                    ParseCharSet="20127"
                    CharPlaceHolder_Def="|GE_UML||">
  <F96
F96_PortSelection="0"
F96_Model="2"
F96_RoomNum_Length="4"
F96_COS_Bar="01"
F96_COS_Unbar="00"
F96_StatusRequest_Option="0"
F96_Additional_GuestdataChange="2"
F96_AllowDbSwap="Y"
/>
  <Language
Lang_Default="0"
Lang_EN="0"
Lang_FR="0"
Lang_DE="0"
Lang_IT="0"
Lang_ES="0"
Lang_PT="0"
Lang_NL="0"
Lang_TR="0"
Lang_RU="0"
Lang_EL="0"
Lang_JA="0"
/>
<VIP VIP_Default="0" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml - ChargePort

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<PARSE FktLogo="F96"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    ReInit_On_LnkErr="N"
                    ParseCharSet="20127"
                    CharPlaceHolder_Def="|GE_UML||">
<F96 F96_PortSelection="1"
                            F96_StartSequence=""
                            F96_StopSequence="">
<Validity
F96_MinimumLength="94"
F96_ValidPosition_1="10"
F96_ValidCharacter_1=":"
F96_ValidPosition_2="16"
F96_ValidCharacter_2=":"
F96_InvalidPosition_1="0"
F96_InvalidCharacter_1=""
F96_InvalidPosition_2="0"
F96_InvalidCharacter_2=""
/>
<Posting

F96_CheckForDoublePostings="N"
F96_ExtentionStart="26"
F96_ExtentionLength="4"
F96_CallStart="42"
F96_CallLength="20"
F96_CallEpilogLength="0"
F96_UnitStart="86"
F96_UnitLength="6"
F96_Unit_Multiplier="1"
F96_ChargeStart="0"
F96_ChargeLength="0"
F96_Charge_Multiplier="100"
F96_DateYear="-1"
F96_DateMonth="-1"
F96_DateDay="-1"
F96_TimeHour="8"
F96_TimeMinute="11"
F96_TimeSeconds="-1"
F96_LengthHours="14"
F96_LengthMinutes="17"
F96_LengthSeconds="20"
F96_LengthSecLength="0"
F96_LengthHourLength="2"
F96_Length_Multiplier="1"
F96_TrunkStart="0"
F96_TrunkLength="0"
F96_TrunkAccessStart="30"
F96_TrunkAccessLength="1"
F96_Time12hourFormatStart="0"
F96_Time12hourFormatChar=""
F96_DCSelector1Start="0"
F96_DCSelector1Length="0"
F96_DCSelector2Start="0"
F96_DCSelector2Length="0"
F96_CrossRef1Start="0"
F96_CrossRef1Length="0"
F96_CrossRef2Start="0"
F96_CrossRef2Length="0"
F96_DefaultExtension=""
F96_NoPost_Start_1="0"
F96_NoPost_Character_1=""
F96_NoPost_Start_2="0"
F96_NoPost_Character_2=""
F96_Subtotal1_Start="0"
F96_Subtotal1_Length="0"
F96_Subtotal2_Start="0"
F96_Subtotal2_Length="0"
F96_Subtotal3_Start="0"
F96_Subtotal3_Length="0"
F96_Subtotal4_Start="0"
F96_Subtotal4_Length="0"
/>
<Roomstatus

F96_RS_IdentifierStart="0"
F96_RS_IdentifierChar=""
F96_RS_ValueStart="0"
F96_RS_ValueLen="0"
/>
<Minibar
F96_Minibar_Mode="0"
F96_Minibar_IdentifierStart="0"
F96_Minibar_IdentifierChar=""
F96_Minibar_ValueStart="0"
F96_Minibar_ValueLen="0"
F96_Minibar_CountStart="0"
F96_Minibar_CountLen="0"
F96_Minibar_Multiplier="1"
/>
</F96>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="32000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
<PROT Layer2="LLC_UNI"
                    CheckSum="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_UNI
LLC_IgnoreChecksum="Y"
LLC_TimeOutWaitingForACK="3000"
UNI_StartCharacter="13"
UNI_StartCharList=""
UNI_StopCharacter="10"
UNI_RecordLength="-1"
UNI_CheckSumPos="0"
UNI_ACKAnswerDelay="0"
UNI_EnablePolling="N"
UNI_PollingSequence=""
UNI_PollingTimeout="5000"
UNI_AnswerENQWithACK="N"
UNI_AnswerRecordWithACK="N"
UNI_UseACKDefinition="N"
UNI_ENQ_ACKDefinition="6"
UNI_Record_ACKDefinition="6"
UNI_SendStartCharList=""
UNI_SendStopCharList=""
UNI_Remove_STX_ETX="0"
/>
</PROT>
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

Log="Y"

MonDetail="2"

MonType="CHR"

LogLength="32000"

Required="Y"

FktLogo="SAT"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="CKS_XOR"

Layer2="LLC_HDX"

LLC_ACK_Mode="0"

LLC_EnqRetries="3"

HDX_StartRetriesWithENQ="1"

HDX_AnswerEnqWithNAK="1"

RecMaxLength="64000"

RecBuffTimeOut="2000"

SAT_ProtocolMode="0"

Lang_Default="0"

Lang_EA="1"

Lang_FR="2"

Lang_GE="3"

Lang_IT="4"

Lang_JA="5"

Lang_SP="6"

VIP_Default="1"

VIP_1="3"

VIP_2="4"

VIP_3="5"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5504"

MsqTcpDns="N"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8LIVE"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1">
  <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="Y"
/>
  <PROT
CheckSum="DTW"
Layer2="LLC_DTW"
RecMaxLength="64000"
RecBuffTimeOut="2000"
/>
<PARSE Simulation="N"
                    FktLogo="GFX"
                    XmlDecl="N"
                    InLineSchema="N"
                    XmlPackEmptyAttr="Y">
  <Language
Lang_Default="E"
Lang_EA="E"
Lang_FR="F"
Lang_GE="G"
Lang_IT="I"
Lang_JA="J"
Lang_SP="S"
/>
  <GFX
GFX_Namedisplay_Mode="0"
GFX_Use_DoublePosting_Check="Y"
GFX_Swap_Mode="0"
GFX_Rec67_Mode="0"
GFX_Wakeup_Mode="0"
GFX_Rec41_Flag="1"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="255"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
/>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5551"
MsqTcpDns="Y"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
/>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
AnswerStat="OK"
ClearText="TestBuchung"
Date="(Date)"
GuestNum="99"
GuestArrival="(Date)"
GuestDeparture="(Date)"
GuestLanguage="GE"
GuestName="Test"
GuestShareflag="N"
GuestTitle="Prof."
GuestVip="V"
PostType="C"
RoomNum="101"
SwapFlag=""
TotalAmount="1000"
Time="(Time)"
/>
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum2="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1"
            PathId3="PMS1"
            SetPathId3="3">
<COMM CheckState="N"
                    Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="3000"
LLC_ACKTimeOut="3000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<PARSE FktLogo="H20"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="20127"
                    CharPlaceHolder_Def="|GE_UML||">
<H20 H20_AllowDbSwap="Y" H20_SendNameChange="N" />
  <Language
Lang_Default="EN"
Lang_EN="EN"
Lang_FR="FR"
Lang_DE="DE"
Lang_IT="IT"
Lang_ES="ES"
Lang_PT="PT"
Lang_NL="NL"
Lang_TR="TR"
Lang_RU="RU"
Lang_EL="EL"
Lang_JA="JA"
/>
<VIP VIP_Default="0" VIP_1="1" />
</PARSE>
  <MON
MonDetail="4"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="FOV8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

Hardware:

The Hitachi system needs two serial ports, one for Call Charge data and one for check in / check out and other messages.

Ports:

The Hitachi system needs two communication ports, called 'CDR' for transmitting call charge data and 'PMSI' for controlling Class of Service, Wakeup Calls, Message Waiting and Room Status.

Messages on both ports are exchanged using FKT=HCX. However:

You can NOT open both ports from one instance of IFC8. You need to install and start two instances of IFC8, both running with FKT=HCX.

The definition what the respective instance will do is configured through:

HCX_PortSelection="0"

Valid values:

"0" = PMS port

"1" = Charge port


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_BMP" CheckSum="CKS_NONE" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_BMP
BMP_UseETXforChecksum="N" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0" BMP_IgnoreChecksum="Y" BMP_SendENQ="1" BMP_SendLeadingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="1"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="3000" LLC_ACKTimeOut="5000" LLC_ENQRetries="3" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="100" BMP_PostACKDelay="0" BMP_IgnoreENQWhileSending="Y"
BMP_STXSelector="0"
/>
</PROT>
<PARSE Simulation="N" FktLogo="HCX_IMC" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<HCX HCX_IMC_Model="1" HCX_IMC_SendNameChange ="Y" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="32000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="N" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="32000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef Date="(Date)" GuestNum="99" GuestArrival="(Date)" GuestDeparture="(Date)" GuestGroupNum="9876543" GuestLanguage="GE" GuestName="Test" GuestShareflag="N" GuestTitle="Prof." GuestVip="V" RoomNum="101" SwapFlag="" SeminarChannel="11" TotalAmount="1000" Time="(Time)" Tvright="TU" VideoRight="VA" />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId" SetPathId1="1">
<COMM Layer1="COM" CheckState="N" Port="1" Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_FDX" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="5000" MaxStackCount="32" ReInit_On_ExpEnq="N">
<LLC_FDX LLC_ACKTimeOut="10000" LLC_ENQTimeOut="3000" LLC_ENQRetries="30" LLC_ACKValidity="5000" LLC_SendRetries="3" FDX_PostACKDelay="0" LLC_XONTimeout="10000" />
</PROT>
<PARSE FktLogo="INF" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" ParseCharSet="20127" CharPlaceHolder_Def="63|GE_UML|46|46">
<INF />
<Language Lang_Default="2" Lang_EN="2" Lang_FR="4" Lang_DE="3" Lang_IT="1" Lang_ES="1" Lang_PT="1" Lang_NL="1" Lang_TR="1" Lang_RU="1" Lang_EL="1" Lang_JA="1" />
<VIP VIP_Default="" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" MonCharSet="256" />
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5500" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N" ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" />
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<PARSE FktLogo="MTX"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="20127"
                    CharPlaceHolder_Def="|GE_UML||">
<MTX />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
<PROT Layer2="LLC_MTX"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="2000"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
<LLC_MTX LLC_ACKTimeOut="5000" LLC_SendRetries="3" />
</PROT>
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8"
            ServiceInst="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<PARSE FktLogo="M1G"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|GE_UML|46|46">
<M1G M1G_PortSelection="1" />
  <Language
Lang_Default="0"
Lang_EN="1"
Lang_FR="2"
Lang_DE="3"
Lang_IT="4"
Lang_ES="5"
Lang_PT="6"
Lang_NL="7"
Lang_TR="8"
Lang_RU="9"
Lang_EL="0"
Lang_JA="0"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" PrinterName_ARAGON="(0) Use default Printer definition" PaperTray_SAM="1" PageSize_SAM="0" />
<PROT Layer2="LLC_M1G"
                    CheckSum="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
<LLC_M1G LLC_ACKTimeOut="10000" LLC_SendRetries="3" />
</PROT>
  <COMM
Layer1="TCP"
CheckState="Y"
Port="5001"
Param="LOCAL"
/>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" PrinterName_ARAGON="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="super"
User="V8Live"
Alias="FOV8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

Config.Xml as of IFC8.2.x.x

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,O,8,1" CheckState="Y" />
<PROT CheckSum="DTW" Layer2="LLC_DTW" RecMaxLength="64000" RecBuffTimeOut="2000" />
<PARSE Simulation="N" FktLogo="DTW" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<DTW DTW_Mode_GDX="Y" />
<Language Lang_Default="E" Lang_EA="E" Lang_FR="F" Lang_GE="G" Lang_IT="I" Lang_JA="J" Lang_SP="S" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5500" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
- <PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>

Config.Xml for IFC8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="DTW"

Layer1="COM"

Port="1"

Param="9600,O,8,1"

CheckSum="DTW"

Layer2="LLC_DTW"

RecMaxLength="64000"

RecBuffTimeOut="2000"

CheckState="Y"

Lang_Default="E"

Lang_EA="E"

Lang_FR="F"

Lang_GE="D"

Lang_IT="I"

Lang_JA="J"

Lang_SP="S"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1" NoteIfcNum="[Typ=integer] the related Ifc_Num in ICFG-Table"

MsqTcpPort="5500"

MsqTcpDns="N"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8Live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 ConfAllowed="Y" Simulation="N" Log="Y" Required="Y" GetPathId="PathId" PathId1="PMS1" PathIdX="PMS1" RefNum="20">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="1500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\MS2_IFC1.RTF" MonCharSet="255" />
<PARSE FktLogo="MS2" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<MS2 MS2_SwapMode="1" MS2_AliveRecord="1" MS2_ConvertUmlaute="0" MS2_LineLength="5" />
</PARSE>
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_BMP" CheckSum="CKS_NONE" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_BMP
BMP_UseETXforChecksum="Y" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0" BMP_IgnoreChecksum="Y" BMP_SendENQ="1" BMP_SendLeadingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="5000" LLC_ACKTimeOut="5000" LLC_ENQRetries="3" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" BMP_IgnoreENQWhileSending="Y"
BMP_STXSelector="0"
/>
</PROT>
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
</IFC1>
<PMS1 ConfAllowed="Y" Simulation="Y" Log="Y" MonDetail="3" MonType="CHR" LogLength="500000" Required="Y" FktLogo="SERV" IfcNum="1" MsqTcpPort="5500" MsqTcpDns="N" Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckSum="N" Layer2="N" RecMaxLength="64000" CheckState="Y" DatascopeType="CHR" RecBuffTimeOut="500" RefNum="20" WSNum1="IFC1" WSNumX="IFC1" XmlDecl="N">
<MON MonShowState="N" MonType="CHR" MonDetail="3" MonCharSet="0" LogLength="1500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\SERV_PMS1.RTF" />
<PARSE FktLogo="SERV" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<PROT Layer2="LLC_SIM" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS" CheckState="Y" Port="GlobalDbsConnect" Param="0">
<DBS DbsDebugMode="N" MsqTcpDns="N" MsqTcpPort="5570" />
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="v8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

The Mitel is communication via 2 port. One for C/I etc and another one for the charges.

The charge port is handled by starting a second session of IFC8 and corresponding settings in the config.xml.

Nameformat configuration via IDRF/IFC_FRM is not possible. The Mitel expects a hardcoded format:

"Name, Firstname"

As of version 8.5.4.7 IFC8 support the RST record to change ClassofService on the Mitel system.

From the Mitel specification regarding this record:

Station Restriction

A Station Restriction message can be used to establish call restrictions. When this message issent from the PMS to the system, it brings previously programmed Call Restrictions into effect.

(Note: Emergency Services (911/999) and internal calls are never restricted.)

Station Restriction message:

<STX>RSTS_XXXXX<ETX>

where :

RST = the Station Restriction function code

X = an extension or suite number digit

S = the status code:

0 - Internal

1 - Local

2 - Long Distance

3 - Option 1

4 - Option 2

5 - Option 3

The translation of the rights as defined in the PMS is hardcoded as follows (adopt PMS config where necessary):

COS 0 = RST 0

COS 1 = RST 1

COS 2 = RST 3

COS 3 = RST 2

TCP communication

TCP communication has been successfully tested in June 2012 with IFC8 version 8.7.5.3:

TCP-Port: 15374

No changes to the protocol layer are necessary, the following can help:

Based on discussions with the Mitel Engineer, the below default should be set to 1 for TCP connections rather than 0.

The Retry can also be increased as the Mitel system will sometimes need additional processing time. Mitel recommends setting the retries to 19 as that is their retry count.

(Note: this is more a workaround, as the Mitel does not acknowledge further record, if their queue is full.)

Wakeupcalls:

By default the PBX expects that wake up calls will be delivered a minimum of 15 minutes prior to the time the call should be delivered. This is configurable on the switch but not many technicians make changes to this setting. This is general behavior and would be the same whether connectivity is TCPIP or RS-232.


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1">
  <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="Y"
/>
<PROT CheckSum="N"
                Layer2="LLC_BMP"
                RecMaxLength="64000"
                RecBuffTimeOut="2000">
  <LLC_BMP
BMP_AnswerENQWithNAK="1"
BMP_SendENQ="1"
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="Y"
BMP_SendLeadingZero="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
/>
</PROT>
<PARSE Simulation="N"
                FktLogo="M2K"
                XmlDecl="N"
                InLineSchema="N"
                XmlPackEmptyAttr="Y">
  <M2K
M2K_SwapMode="1"
M2K_ConvertUmlaute="1"
M2K_LineLength="5"
M2K_AliveRecord="1"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="255"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
/>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
/>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>

For IFC8 versions 8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="M2K"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="N"

Layer2="LLC_BMP"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

RefNum="20"

XmlDecl="N"

M2K_SwapMode = "1"

M2K_ConvertUmlaute = "1"

M2K_LineLength = "5"

BMP_AnswerEnqWithNAK="0"

BMP_SendEnq="1"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5503"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8Live"

Alias="V8"/>

</GENERAL>

</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
<PROT ReInit_On_ExpEnq="Y" Layer2="LLC_JIS" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="35000">
<LLC_JIS JIS_ENQ_String ="48;32;5" JIS_Record_Header ="48;32;15" JIS_AnswerRVIWithEOT ="N" LLC_ENQTimeOut="5000" LLC_ENQRetries="60" />
</PROT>
<PARSE Simulation="N" FktLogo="N2S" XmlDecl="N" XmlPackEmptyAttr="N" InLineSchema="N">
<N2S UseUnits="0" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="2000000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="N" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="2000000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1"
            ObjCaption="IFC1">
<PARSE FktLogo="N7M"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="20127"
                    CharPlaceHolder_Def="|GE_UML|46|46">
<N7M DoublePostingSize="0" />
  <Language
Lang_Default="0"
Lang_EN="1"
Lang_FR="2"
Lang_DE="3"
Lang_IT="4"
Lang_ES="0"
Lang_PT="0"
Lang_NL="0"
Lang_TR="0"
Lang_RU="0"
Lang_EL="0"
Lang_JA="0"
/>
  <VIP
VIP_Default="0"
VIP_0="0"
VIP_1="1"
VIP_2="2"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
<PROT Layer2="LLC_JIS"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="35000"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_JIS

JIS_IncomingRecord_RemoveHeader="0"
JIS_AnswerRVIWithEOT="N"
JIS_CheckForTrailingENQs="Y"
LLC_ENQTimeOut="5000"
LLC_ENQRetries="60"
JIS_ENQ_String="48;33;5"
JIS_Record_Header="48;33;15"
/>
</PROT>
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1"
            ObjCaption="PMS1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8"
            ServiceInst="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum1="PMS1"
WSNum2="PMS1"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1">
- <COMM
CheckState="N"
Layer1="COM"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PROT
Layer2="LLC_JIS"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="35000"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_JIS
JIS_ENQ_String="49;33;5"
JIS_Record_Header="49;33;76"
JIS_AnswerRVIWithEOT="Y"
LLC_ENQTimeOut="5000"
LLC_ENQRetries="60"
/>
</PROT>
- <PARSE
FktLogo="N74"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="20127"
CharPlaceHolder_Def="|||">
  <N74
N74_Model="2"
N74_GroupFieldJustification="R"
N74_MinibarAccessCode="3123"
N74_MinibarDataLength="3"
N74_Charge_Multiplier="1"
N74_AliveRecordTimeout="20"
/>
  <Language
Lang_Default="2"
Lang_EN="2"
Lang_FR="2"
Lang_DE="2"
Lang_IT="2"
Lang_ES="2"
Lang_PT="2"
Lang_NL="2"
Lang_TR="2"
Lang_RU="2"
Lang_EL="2"
Lang_JA="2"
/>
<VIP VIP_Default="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="128000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="128000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum2="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM CheckState="N"
                    Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_JIS"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="35000"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_JIS
JIS_ENQ_String="49;33;5"
JIS_Record_Header="49;33;15"
JIS_IncomingRecord_RemoveHeader="1"
JIS_AnswerRVIWithEOT="Y"
JIS_CheckForTrailingENQs="Y"
LLC_ENQTimeOut="5000"
LLC_ENQRetries="60"
/>
</PROT>
<PARSE FktLogo="N2A"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="20127"
                    CharPlaceHolder_Def="|GE_UML||">
<N2A N2A_MSG_On_Value="0" DoublePostingSize="0" />
  <Language
Lang_Default="2"
Lang_EN="2"
Lang_FR="2"
Lang_DE="2"
Lang_IT="2"
Lang_ES="2"
Lang_PT="2"
Lang_NL="2"
Lang_TR="2"
Lang_RU="2"
Lang_EL="2"
Lang_JA="2"
/>
<VIP VIP_Default="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="FOV8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            GetPathId="PathId"
            PathId1="PMS1"
            PathIdX="PMS1"
            SetPathId1="1">
<COMM Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1"
                    CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PARSE Simulation="Y"
                    FktLogo="NKT"
                    XmlDecl="N"
                    InLineSchema="N"
                    XmlPackEmptyAttr="Y"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|GE_UML||">
  <NKT
NKT_AliveRecord="1"
NKT_SwapMode="1"
NKT_UseVoiceMail="1"
NKT_UseIncomingDND="1"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="255"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" />
<PROT Layer2="LLC_NKT"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_NKT
NKT_IgnoreChecksum="N"
NKT_PollingTimeout="0"
LLC_ACKTimeOut="5000"
/>
</PROT>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SOP"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="N"

Layer2="LLC_BLK"

BLK_CheckSumPos="0"

BLK_IgnoreChecksum="N"

SOP_UsePLIField="2"

SOP_UseRecord31ForRoomStatus="Y"

SOP_MinibarMode="0"

SOP_ChargeRecordFormat="0"

Lang_Default="E"

Lang_EA="E"

Lang_FR="F"

Lang_GE="D"

Lang_IT="I"

Lang_JA="J"

Lang_SP="S"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5673"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="Live"

User="V8Live"

Alias="V8">/

</GENERAL>

</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum1="PMS1"
        WSNum2="PMS1"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1">
<PROT Layer2="LLC_N2I"
                CheckSum="CKS_NONE"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="X">
  <LLC_N2I
LLC_ACKTimeOut="3000"
LLC_SendRetries="3"
N2I_PollingTimeout="15000"
/>
</PROT>
<PARSE FktLogo="N2I"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                GetParseConfig="GetParseConfig"
                LA_TimeOut="3000"
                ParseCharSet="20127"
                CharPlaceHolder_Def="|GE_UML||">
  <N2I
N2I_Model="2"
N2I_GroupFieldJustification="R"
N2I_MinibarAccessCode="3123"
N2I_MinibarDataLength="3"
N2I_Charge_Multiplier="1"
N2I_AliveRecordTimeout="20"
/>
  <Language
Lang_Default="2"
Lang_EN="2"
Lang_FR="2"
Lang_DE="2"
Lang_IT="2"
Lang_ES="2"
Lang_PT="2"
Lang_NL="2"
Lang_TR="2"
Lang_RU="2"
Lang_EL="2"
Lang_JA="2"
/>
<VIP VIP_Default="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
  <COMM
Layer1="TCP/C"
CheckState="Y"
Port="5002"
Param="LOCAL"
/>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
        ErrorEMail="N"
        PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

Good to know:

  • This is the only NEC driver, which supports TCP/IP as communication layer.

  • The RoomStatus record contains the Maid-Id


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum1="PMS1" WSNum2="PMS1" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_JIS" RecMaxLength="64000" RecBuffTimeOut="35000" CheckSum="CKS_XOR">
<LLC_JIS LLC_ENQTimeOut="5000" LLC_ENQRetries="3" JIS_ENQ_String="49;33;5" JIS_Record_Header="49;33;76" JIS_AnswerRVIWithEOT="Y" />
</PROT>
<PARSE Simulation="Y" FktLogo="N24" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
 <N24
UseUnits="0" N24_Model ="2"
N24_GroupFieldJustification ="R"
N24_MinibarAccessCode ="5555"  N24_MinibarDataLength ="4"
N24_Charge_Multiplier ="1"
N24_AliveRecordTimeout ="20" />
<Language Lang_Default="2" Lang_EA="2" Lang_FR="2" Lang_GE="2" Lang_IT="2" Lang_JA="2" Lang_SP="2" />
<VIP VIP_Default="2" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" SetupIRMS="IRMS" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1"
ObjCaption="IFC1">
- <PARSE
FktLogo="NK1"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
  <NK1
NK1_PortSelection="0"
NK1_RoomNumLenght="4"
NK1_CheckInOut_Category="1"
NK1_Password="OSLC
142" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
- <PROT
Layer2="LLC_BLK"
CheckSum="CKS_NONE"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="N"
BLK_SendStartCharacter="0"
BLK_SendStopCharacter="0"
BLK_ReceiveStartCharacter="0"
BLK_ReceiveStopCharacter="*63,32"
BLK_Remove_STX="0"
BLK_InitialDelay="150"
BLK_InterbyteDelay="150"
BLK_ReceiveOnTimeout="Y"
BLK_AllowEmptyRecords="Y"
/>
</PROT>
- <COMM
Layer1="COM"
CheckState="N"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1"
ObjCaption="PMS1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
- <GENERAL
ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8"
ServiceInst="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SLB"

Layer1="COM"

Port="1"

Param="1200,O,7,1"

CheckSum="CKS_DTW"

Layer2="LLC_SLB"

LLC_SendRetries="3"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

SLB_ExtentionStart="12"

SLB_ExtentionLength="7"

SLB_CallStart="61"

SLB_CallLength="27"

SLB_UnitStart="106"

SLB_UnitLength="5"

SLB_DateMonth="40"

SLB_DateDay="43"

SLB_TimeHour="46"

SLB_TimeMinute="49"

SLB_LengthHours="52"

SLB_LengthMinutes="55"

SLB_LengthSeconds="58"

SLB_TrunkStart="20"

SLB_TrunkLength="7"

SLB_DCSelectorStart="0"

SLB_DCSelectorLength="0"

RefNum="20"

XmlDecl="N"

Lang_Default="EA"

Lang_EA="EA"

Lang_FR="FR"

Lang_GE="GE"

Lang_IT="IT"

Lang_JA="JA"

Lang_SP="SP"

InLineSchema="N"

WSNum1="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5555"

MsqTcpDns="N"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="v8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,N,8,1" CheckState="Y" />
<PROT CheckSum="CKS_XOR" Layer2="LLC_BMP" RecMaxLength="64000" RecBuffTimeOut="2000">
 <LLC_BMP
BMP_UseSTXforChecksum="N" BMP_UseETXforChecksum="Y"
BMP_SendEnq="0" BMP_CheckSumPos="0" BMP_SendLeadingZero="0" BMP_AnswerEnqWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreChecksum="N" BMP_IgnoreNAKs="N" BMP_AddDLEtoCtrlChars="Y"
LLC_ACKTimeOut="8000" LLC_EnqTimeOut="2000" LLC_EnqRetries="5" BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" />
</PROT>
<PARSE Simulation="N" FktLogo="ATD_PCP" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<ATD ATD_PCP_SendSwapOnOff="Y" ATD__PCPTransparentMode="Y" ATD_PCP_CheckoutBeforeNameChange="N" ATD_PCP_CoveragePath ="00?0" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="32000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" SetupIRMS="IRMS" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="32000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId" SetPathId1="1">
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_BLK" CheckSum="CKS_NONE" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_BLK
BLK_CheckSumPos="0" BLK_IgnoreChecksum="N" BLK_SendStartCharacter="1"
BLK_SendStopCharacter="3" BLK_ReceiveStartCharacter="1"
BLK_ReceiveStopCharacter="3" BLK_InitialDelay="0" BLK_InterbyteDelay="0" BLK_ReceiveOnTimeout="N" />
</PROT>
<PARSE Simulation="Y" FktLogo="O18" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<O18 O18_UnitLength="4" O18_Minibar_Multiplier="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef DefRef0="O18" GuestName="Test" GuestShareflag="N" RoomNum="101" />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>

<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1">
<COMM Layer1="COM"
                Port="1"
                Param="9600,N,8,1"
                CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_BLK"
                CheckSum="CKS_NONE"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="N">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="N"
BLK_SendStartCharacter="0"
BLK_SendStopCharacter="0"
BLK_ReceiveStartCharacter="0"
BLK_ReceiveStopCharacter="0"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="N"
/>
</PROT>
<PARSE FktLogo="EAI"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                GetParseConfig="GetParseConfig"
                LA_TimeOut="3000"
                ReInit_On_LnkErr="Y"
                ParseCharSet="20127"
                CharPlaceHolder_Def="|GE_UML||">
  <EAI
EAI_UsePLIField="1"
EAI_CommandTimeout="20"
EAI_UseRecord31ForRoomStatus="Y"
EAI_MinibarMode="0"
EAI_ChargeRecordFormat="0"
/>
  <Language
Lang_Default="EN"
Lang_EN="EN"
Lang_FR="EN"
Lang_DE="EN"
Lang_IT="EN"
Lang_ES="EN"
Lang_PT="EN"
Lang_NL="EN"
Lang_TR="EN"
Lang_RU="EN"
Lang_EL="EN"
Lang_JA="EN"
/>
<VIP VIP_Default="0" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="N"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
        ErrorEMail="N"
        PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1">
- <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
- <PROT
Layer2="LLC_BMP"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="53"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
- <PARSE
FktLogo="CBX"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
  <CBX
CBX_PortSelection="0"
CBX_RoomNumLenght="4"
DoublePostingSize="0"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="1"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
- <GENERAL
ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

The ROLM system communicates on two ports, so you need to start two instances of IFC8 with the respective configuration:


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="S20"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="N"

Layer2="LLC_S20"

S20_UseAFS="Y"

S20_DurationOffset="37"

S20_RequestMode="Y"

S20_Polling_TimeOut="3000"

RecMaxLength="64000"

RecBuffTimeOut="2000"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1" NoteIfcNum="[Typ=integer] the related Ifc_Num in ICFG-Table"

MsqTcpPort="5525"

MsqTcpDns="N"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8Live"

Alias="V8"/>

</GENERAL>

</IFC8>


IFC8Config.Xml

C/I port:

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1">
- <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
- <PARSE
FktLogo="S25"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ReInit_On_LnkErr="Y"
ParseCharSet="850"
CharPlaceHolder_Def="|GE_UML|46|46">
  <S25
S25_PortSelection="0"
S25_CommandTimeout="10000"
S25_COS_Bar="205"
S25_COS_Unbar="120"
/>
</PARSE>
  <MON
MonDetail="4"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="1"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
- <PROT
Layer2="LLC_BGT"
CheckSum="CKS_NONE"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
<LLC_BGT />
</PROT>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
- <GENERAL
ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
DefRef0="S25"
RoomNum="101"
SwapFlag=""
Date="(Date)"
Time="(Time)"
RequestType="0"
GuestShareflag="N"
ClassofService="3"
/>
</GENERAL>
</IFC8>

Charge port:

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1">
- <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
- <PARSE
FktLogo="S25"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ReInit_On_LnkErr="Y"
ParseCharSet="850"
CharPlaceHolder_Def="|GE_UML|46|46">
- <S25
S25_PortSelection="1"
S25_StartSequence=""
S25_StartSeqCharList="17"
S25_StopSequence=""
S25_StopSeqCharList=""
DoublePostingSize="0">
<Validity
S25_MinimumLength="0"
S25_ValidPosition_1="0"
S25_ValidCharacter_1=""
S25_ValidPosition_2="0"
S25_ValidCharacter_2=""
S25_InvalidPosition_1="0"
S25_InvalidCharacter_1=""
S25_InvalidPosition_2="0"
S25_InvalidCharacter_2=""
/>
<Posting

S25_CheckForDoublePostings="N"
S25_ExtentionStart="5"
S25_ExtentionLength="5"
S25_Ext_RemoveLeadingZeros="0"
S25_CallStart="33"
S25_CallLength="23"
S25_CallEpilogLength="0"
S25_DialedNumber_AllowOnlyDigits="N"
S25_UnitStart="61"
S25_UnitLength="4"
S25_Unit_Multiplier="1"
S25_ChargeStart="0"
S25_ChargeLength="0"
S25_Charge_Multiplier="100"
S25_DateYear="0"
S25_DateMonth="0"
S25_DateDay="0"
S25_LengthDateInDays="0"
S25_TimeHour="80"
S25_TimeMinute="82"
S25_TimeSeconds="0"
S25_LengthHours="0"
S25_LengthMinutes="0"
S25_LengthSeconds="56"
S25_LengthSecLength="5"
S25_LengthHourLength="2"
S25_Length_Multiplier="1"
S25_TrunkStart="0"
S25_TrunkLength="0"
S25_TrunkAccessStart="0"
S25_TrunkAccessLength="0"
S25_Time12hourFormatStart="0"
S25_Time12hourFormatChar="P"
S25_DCSelector1Start="0"
S25_DCSelector1Length="0"
S25_DCSelector2Start="0"
S25_DCSelector2Length="0"
S25_CrossRef1Start="0"
S25_CrossRef1Length="0"
S25_CrossRef2Start="0"
S25_CrossRef2Length="0"
S25_DefaultExtension=""
S25_NoPost_Start_1="0"
S25_NoPost_Character_1=""
S25_NoPost_Start_2="0"
S25_NoPost_Character_2=""
S25_Subtotal1_Start="0"
S25_Subtotal1_Length="0"
S25_Subtotal2_Start="0"
S25_Subtotal2_Length="0"
S25_Subtotal3_Start="0"
S25_Subtotal3_Length="0"
S25_Subtotal4_Start="0"
S25_Subtotal4_Length="0"
/>
<Roomstatus

S25_RS_IdentifierStart="0"
S25_RS_IdentifierChar=""
S25_RS_ValueStart="0"
S25_RS_ValueLen="0"
/>
<Minibar
S25_Minibar_Mode="0"
S25_Minibar_IdentifierStart="0"
S25_Minibar_IdentifierChar=""
S25_Minibar_ValueStart="0"
S25_Minibar_ValueLen="0"
S25_Minibar_CountStart="0"
S25_Minibar_CountLen="0"
S25_Minibar_Multiplier="1"
/>
</S25>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="1"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
- <PROT
Layer2="LLC_UNI"
CheckSum="CKS_NONE"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
  <LLC_UNI
LLC_IgnoreChecksum="Y"
LLC_TimeOutWaitingForACK="3000"
UNI_StartCharacter="2"
UNI_StartCharList=""
UNI_StopCharacter="3"
UNI_RecordLength="-1"
UNI_CheckSumPos="0"
UNI_ACKAnswerDelay="0"
UNI_EnablePolling="L"
UNI_PollingSequence="17"
UNI_PollingTimeout="60000"
UNI_AnswerENQWithACK="N"
UNI_AnswerRecordWithACK="N"
UNI_UseACKDefinition="N"
UNI_ENQ_ACKDefinition="6"
UNI_Record_ACKDefinition="6"
UNI_SendStartCharList=""
UNI_SendStopCharList=""
UNI_Remove_STX_ETX="0"
/>
</PROT>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
- <GENERAL
ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef DefRef0="S25" />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum2="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1"
            ObjCaption="IFC1">
<COMM CheckState="N"
                    Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_ACOM"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_ACOM
LLC_IgnoreChecksum="N"
LLC_ACKTimeOut="10000"
LLC_SendRetries="3"
ACOM_StartupMode="2"
ACOM_XOFF_ACK="0"
/>
</PROT>
<PARSE FktLogo="DIS"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
<DIS DIS_S_ADDR="00"
                            DIS_R_ADDR="00"
                            DIS_Tenant_ID="01"
                            DIS_Roomstatus_Trunk="999"
                            DIS_Data_Entry_Char_Roomstatus="9"
                            DIS_Data_Entry_Char_Wakeup_Del="2"
                            DIS_Data_Entry_Char_Wakeup_Set="1"
                            DoublePostingSize="0">
<Message_Selection
DIS_MSG_LANG_1="FR"
DIS_MSG_LANG_2="IT"
DIS_MSG_LANG_3="EN"
DIS_MSG_INVALID_Default="05"
DIS_MSG_INVALID_1="06"
DIS_MSG_INVALID_2="07"
DIS_MSG_INVALID_3="08"
DIS_MSG_WUP_DEL_Default="10"
DIS_MSG_WUP_DEL_1="11"
DIS_MSG_WUP_DEL_2="12"
DIS_MSG_WUP_DEL_3="13"
DIS_MSG_WUP_ENTRY_Default="20"
DIS_MSG_WUP_ENTRY_1="21"
DIS_MSG_WUP_ENTRY_2="22"
DIS_MSG_WUP_ENTRY_3="23"
DIS_MSG_WUP_EXECUTION_Default="30"
DIS_MSG_WUP_EXECUTION_1="31"
DIS_MSG_WUP_EXECUTION_2="32"
DIS_MSG_WUP_EXECUTION_3="33"
DIS_MSG_WUP_SET_Default="40"
DIS_MSG_WUP_SET_1="41"
DIS_MSG_WUP_SET_2="42"
DIS_MSG_WUP_SET_3="43"
/>
</DIS>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="Y"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="1"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
LogFileType="RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" FormatOptions="(112) NewPage+CenterPage" PageSize="0" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1"
            ObjCaption="PMS1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="Y"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="1"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
LogFileType="RTF"
/>
<PRN PrinterName="(0) No Printer" FormatOptions="(112) NewPage+CenterPage" PageSize="0" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8"
            ServiceInst="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="FOV8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific interface setup

This interface is based on FIAS and does not need any specific setup.


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,N,8,1" CheckState="Y" />
<PROT CheckSum="CKS_XOR" Layer2="LLC_FDX" RecMaxLength="64000" RecBuffTimeOut="2000" ReInit_On_ExpEnq="N">
<LLC_FDX LLC_ACKTimeOut="3000" LLC_ACKValidity="2000" LLC_ENQTimeOut="2000" LLC_EnqRetries="4" LLC_SendRetries="3" FDX_PostACKDelay="0" LLC_XONTimeout="10000" LLC_ENQRetries="4" />
</PROT>
<PARSE Simulation="Y" FktLogo="SCV" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<SCV SCV_TimeRecordOffset="100" SCV_AmtPin="8" SCV_AmtPinComment="" SCV_MessageType="3" SCV_SendBindOnStartup="1" SCV_VersionMode="1" SCV_WakeupMode="0" SCV_UseUnits="2" SCV_ChargePosition="1">
<DID_PoolTypes SCV_TypeForPool_1="1" SCV_TypeForPool_2="2" />
</SCV>
<Language Lang_Default="01" Lang_EA="01" Lang_FR="02" Lang_GE="03" Lang_IT="04" Lang_JA="05" Lang_SP="06" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5500" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>

Config XML setup for IFC= 8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SCV"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="LRC"

Layer2="LLC_FDX"

RecMaxLength="640000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

XmlDecl="N"

LLC_ACKTimeout="2000"

LLC_ACKValidity="2000"

SCV_TimeRecordOffset="0"

Lang_Default="01"

Lang_EA="01"

Lang_FR="02"

Lang_GE="03"

Lang_IT="04"

Lang_JA="05"

Lang_SP="06"

VIP_Default="1"

VIP_1="3"

VIP_3="5"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1"

SCV_AmtPin="8"

SCV_MessageType="3"

SCV_SendBindOnStartup="1"

SCV_VersionMode="1"

SCV_WakeupMode="1"

SCV_ChargePosition="0"

SCV_UseUnits="0">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1" NoteIfcNum="The related Ifc_Num in ICFG-Table"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

MsqTcpPort="5505"

MsqTcpDns="Y"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8Live"

Alias="V8"/>

</GENERAL>

</IFC8>


Specific Interface Setup

NCC versus SCV

IFC8 does not have two different FKTs for the different CARACAS versions.

The different protocols can be defined in the configuration:

SCV_VersionMode = "0" -> NCC

SCV_VersionMode = "1" -> SCV

Charge-Record:

Siemens transfers a "TAG" in the charge record (last position) which identifies a call as Local/National/International.

this Tag is transferred to the business logic in SalesOutlet.

Check-Sum:

When running in TCP-Mode some Siemens systems can not process records with a checksum. In that case set CheckSum to "N".

Without CheckSum:

With Checksum:


Communication Verification

Check-In (NCC):

0....+....1....+....2....+....3....+....4....+....5....+....6....+....

☻011201 000000000000101(E) Mr. Hindelang ♥/

Check-Out (NCC):

0....+....1....+....2....+....3....+....4....+....5....+....6....+....

☻011201 000000000000201 ♥y

Check-In (SCV):

0....+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8....+....9....+

☻091204 000000000000101(E) Mr. Test_3 028 ♥(

Pos. Description

4-9 Extension

22 Status

23 Language Code

24 Guestname

65 Swap-Flag (0 = Standard Check-In, 1 = Swap Check-In)

66 Reservation-Number

86-91 Old Roomnumber (During RoomMove only)

Possible values for 'Status':

1 = Check-In (first guest)

2 = Check-In (room already occup.)

3 = Room Move (new room empty)

4 = Room Move (new room occupied)

5 = Check-Out (room is still occ.)

6 = Check-Out (last guest)


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM CheckState="N" Layer1="COM" Port="1" Param="9600,N,8,1" />
<PROT Layer2="LLC_HSK" CheckSum="CKS_NONE" RecMaxLength="64000" RecBuffTimeOut="500">
<LLC_HSK LLC_SendRetries="20" />
</PROT>
<PARSE Simulation="N" FktLogo="HC3" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<HC3 HC3_MinibarMode ="0" HC3_SendSwapCO ="N" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5500" MsqTcpDns="N" DbsDebugMode="N" SetupIRMS="IRMS" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 User="V8Live" Pwd="live" Alias="IV8" DbsConfig="ICFG(0)" SetupIRMS="IRMS"/>
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1"
            ObjCaption="IFC1">
<PARSE FktLogo="TP2"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ReInit_On_LnkErr="Y"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|GE_UML|46|46">
  <TP2
TP2_PortSelection="1"
TP2_CommandTimeout="60000"
TP2_PasswordAnswer_TimeOut="20000"
TP2_AliveRequest_TimeOut="10000"
TP2_MinibarDataLength="4"
TP2_RoomstatusAccessCode="*75"
TP2_WakeupAccessCode="*78"
TP2_Checkin_COS="26"
TP2_Checkout_COS="25"
TP2_Password="HOTEL"
TP2_MinibarAccessCode="*85"
/>
</PARSE>
  <MON
MonDetail="4"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
LogFileType="RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
  <PROT
Layer2="LLC_TP2"
CheckSum="CKS_NONE"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N"
/>
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1"
            ObjCaption="PMS1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
LogFileType="RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8"
            ServiceInst="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

[This driver was called SR Comms (CARA) with FKT=CAR in IFC7.]


Ifc8Config_SRL.Xml

Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM Layer1="COM" CheckState="Y" Port="1" Param="9600,N,8,1" />
<PROT CheckSum="LRC" Layer2="LLC_BMP" RecMaxLength="64000" RecBuffTimeOut="2000" ReInit_On_ExpEnq="N">
 <LLC_BMP BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N" BMP_CheckSumPos="0" BMP_IgnoreChecksum="N" BMP_SendENQ="1" BMP_SendLeadingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="3000" LLC_ACKTimeOut="3000" LLC_ENQRetries="3" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="1"
/>
</PROT>
<PARSE Simulation="Y" FktLogo="SRL" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<Language Lang_Default="NL" Lang_EA="01English" Lang_FR="02French" Lang_GE="03German" Lang_IT="04Italian" Lang_JA="05Japanese" Lang_SP="06Spanish" />
<SRL SRL_Protocol="1" SRL_UseNamedisplay="Y" SRL_ConvertUmlaute="Y" SRL_AdjustNameLength="Y" SRL_MessageOffCharacter="2" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumGANDALF="PMS1"
            WSNumANDREAS="PMS1"
            WSNumX="PMS1">
  <COMM
CheckState="Y"
Layer1="COM"
Port="1"
Param="9600,N,8,1"
/>
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendEnq="0"
BMP_SendLeadingZero="0"
BMP_AnswerEnqWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_EnqTimeOut="8000"
LLC_ACKTimeOut="3000"
LLC_EnqRetries="4"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
/>
</PROT>
<PARSE Simulation="Y"
                    FktLogo="COR"
                    XmlDecl="N"
                    XmlPackEmptyAttr="N"
                    InLineSchema="N">
<COR />
  <Language
Lang_Default="0"
Lang_EA="0"
Lang_FR="0"
Lang_GE="0"
Lang_IT="0"
Lang_JA="0"
Lang_SP="0"
/>
<VIP VIP_Default="0" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="255"
/>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5591"
MsqTcpDns="Y"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
/>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1"
            ObjCaption="IFC1">
<PARSE FktLogo="TEB"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
  <TEB
DoublePostingSize="1"
DoublePostingType="ParseRec"
DoublePostingFixAttr=""
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
LogFileType="RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_ASCII_ADD"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="N"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="1"
BMP_IgnoreChecksum="N"
BMP_SendENQ="1"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="5"
LLC_SendRetries="5"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="1"
BMP_ETXSelector="3"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
BMP_MinimumLengthForChecksum="4"
/>
</PROT>
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1"
            ObjCaption="PMS1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
LogFileType="RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8"
            ServiceInst="N">
  <GlobalDbsConnect0
Pwd="super"
User="V8Live"
Alias="FOV8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

Config.Xml as of IFC8.2.x.x

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" CheckState="Y" Port="1" Param="9600,N,8,1" />
<PROT CheckSum="LRC" Layer2="LLC_BMP" RecMaxLength="64000" RecBuffTimeOut="2000">
 <LLC_BMP
BMP_UseETXforChecksum="Y" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0" BMP_IgnoreChecksum="N" BMP_SendEnq="1" BMP_SendLeadingZero="0" BMP_AnswerEnqWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_EnqTimeOut="8000" LLC_ACKTimeOut="3000" LLC_EnqRetries="4" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" />
</PROT>
<PARSE Simulation="N" FktLogo="CSB" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<CSB CSB_SwapMode="3" CSB_MinibarMode="0" />
<Language Lang_Default="0" Lang_EA="1" Lang_FR="2" Lang_GE="3" Lang_IT="4" Lang_JA="5" Lang_SP="6" />
<VIP VIP_Default="1" VIP_1="3" VIP_2="4" VIP_3="5" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5500" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>

Config.Xml for IFC8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="CSB"

Layer1="COM"

Port="1"

Param="1200,E,7,1"

CheckSum="LRC"

Layer2="LLC_BMP"

RecMaxLength="64000"

CheckState="N"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

XmlDecl="N"

CSB_SwapMode = "2"

CSB_MinibarMode = "0"

Lang_Default="0"

Lang_EA="1"

Lang_FR="2"

Lang_GE="3"

Lang_IT="4"

Lang_JA="5"

Lang_SP="6"

VIP_Default="0"

VIP_1="0"

VIP_2="1"

VIP_3="1"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

MsqTcpPort="5502"

MsqTcpDns="Y"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_ACOM"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_ACOM
LLC_IgnoreChecksum="N"
LLC_ACKTimeOut="5000"
LLC_SendRetries="3"
ACOM_StartupMode="0"
ACOM_XOFF_ACK="0"
/>
</PROT>
<PARSE FktLogo="TNO"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
<TNO TNO_ChargeFormat="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="X"
                    MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="N"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1">
  <COMM
Layer1="COM"
CheckState="Y"
Port="1"
Param="9600,N,8,1"
/>
- <PROT CheckSum="LRC"
Layer2="LLC_BMP"
RecMaxLength="64000"
RecBuffTimeOut="2000"
ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="1"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="3000"
LLC_ACKTimeOut="3000"
LLC_ENQRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="1"
/>
</PROT>
- <PARSE
Simulation="Y"
FktLogo="TIG"
XmlDecl="N"
InLineSchema="N"
XmlPackEmptyAttr="Y">
  <Language
Lang_Default="NL"
Lang_EA="01English"
Lang_FR="02French"
Lang_GE="03German"
Lang_IT="04Italian"
Lang_JA="05Japanese"
Lang_SP="06Spanish"
/>
  <TIG
TIG_Protocol="1"
TIG_UseNamedisplay="Y"
TIG_ConvertUmlaute="Y"
TIG_AdjustNameLength="Y"
TIG_MessageOffCharacter="2"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="255"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
/>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
/>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
/>
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum1="PMS1"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1">
  <COMM
CheckState="Y"
Layer1="COM"
Port="1"
Param="9600,N,8,1"
/>
<PROT ReInit_On_ExpEnq="N"
                Layer2="LLC_BMP"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="25000"
LLC_ACKTimeOut="25000"
LLC_ENQRetries="5"
BMP_AddDLEtoCtrlChars="Y"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
/>
</PROT>
<PARSE Simulation="Y"
                FktLogo="ATV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N">
<ATV ATV_SendSwapOnOff="N" ATV_SwapOptions="0" />
  <Language
Lang_Default="20"
Lang_EN="20"
Lang_FR="20"
Lang_DE="20"
Lang_IT="20"
Lang_ES="20"
Lang_PT="20"
Lang_NL="20"
Lang_TR="20"
Lang_RU="20"
Lang_EL="20"
Lang_JA="20"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1280000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="255"
/>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
/>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="128 000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8LIVE"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific interface Setup

This interface is based on FIAS and does not need any specific setup.

FKT-Logo = FIAS_BC2


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum1="PMS1"
WSNum2="PMS1"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1">
- <COMM
CheckState="N"
Layer1="COM"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PROT
Layer2="LLC_JIS"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="35000"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_JIS
JIS_ENQ_String="49;33;5"
JIS_Record_Header="49;33;76"
JIS_AnswerRVIWithEOT="Y"
LLC_ENQTimeOut="5000"
LLC_ENQRetries="60"
/>
</PROT>
- <PARSE
FktLogo="CPS"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="20127"
CharPlaceHolder_Def="|GE_UML|46|46">
  <CPS
CPS_Model="2"
CPS_GroupFieldJustification="R"
CPS_MinibarAccessCode="3123"
CPS_MinibarDataLength="3"
CPS_Charge_Multiplier="1"
CPS_AliveRecordTimeout="20"
/>
  <Language
Lang_Default="2"
Lang_EN="2"
Lang_FR="2"
Lang_DE="2"
Lang_IT="2"
Lang_ES="2"
Lang_PT="2"
Lang_NL="2"
Lang_TR="2"
Lang_RU="2"
Lang_EL="2"
Lang_JA="2"
/>
<VIP VIP_Default="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="128000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="4" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="128000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<PARSE FktLogo="CCI"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="||46|46">
<CCI BillViewMultiply="1" />
  <Language
Lang_Default="0"
Lang_EN="1"
Lang_FR="2"
Lang_DE="3"
Lang_IT="4"
Lang_ES="5"
Lang_PT="6"
Lang_NL="7"
Lang_TR="8"
Lang_RU="9"
Lang_EL="A"
Lang_JA="B"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="1"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


General Setup of Centigram Interfaces

There is no specific setup necessary.

An example Ifc8Config.XML:

NOTE: Check your FKT-Logo !!

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,N,8,1" CheckState="Y" />
<PROT CheckSum="LRC" Layer2="LLC_FDX" RecMaxLength="64000" RecBuffTimeOut="2000" ReInit_On_ExpEnq="N">
<LLC_FDX LLC_ACKTimeOut="5000" LLC_ACKValidity="2000" LLC_ENQTimeOut="3000" LLC_ENQRetries="3" LLC_SendRetries="3" FDX_PostACKDelay="0" LLC_XONTimeout="10000" />
</PROT>
<PARSE Simulation="N" FktLogo="CTG" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
 <CTG
CTG_EncoreMode ="Y"
CTG_SendLanguageRecord ="Y"
CTG_SendGuestnameRecord ="N" />
<Language Lang_Default="01" Lang_EA="01" Lang_FR="02" Lang_GE="03" Lang_IT="04" Lang_JA="05" Lang_SP="06" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5500" MsqTcpDns="N" SetupIRMS="IRMS" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>


Specific Interface Setup

This interface is based on FIAS and does not need any specific setup.

FKT-Logo = FIAS_HRB


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId" SetPathId1="1" ObjCaption="IFC1">
<PARSE FktLogo="IPX" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" GetParseConfig="GetParseConfig" LA_TimeOut="3000" ParseCharSet="20127" CharPlaceHolder_Def="|GE_UML|46|46">
<IPX />
<Language Lang_Default="00" Lang_EN="01" Lang_FR="02" Lang_DE="03" Lang_IT="04" Lang_ES="05" Lang_PT="06" Lang_NL="07" Lang_TR="08" Lang_RU="09" Lang_EL="10" Lang_JA="" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="2000000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" LogFileType="RTF" MonCharSet="256" />
 <PRN
PrinterName="(0) No
Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No
Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use
standard Printer definition" />
<PROT Layer2="LLC_FDX" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="5000" MaxStackCount="32" ReInit_On_ExpEnq="X">
<LLC_FDX LLC_ACKTimeOut="5000" LLC_ENQTimeOut="5000" LLC_ENQRetries="3" LLC_ACKValidity="2000" LLC_SendRetries="3" FDX_PostACKDelay="0" LLC_XONTimeout="10000" />
</PROT>
<COMM Layer1="COM" CheckState="N" Port="1" Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1" ObjCaption="PMS1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N" ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="2000000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" LogFileType="RTF" />
 <PRN
PrinterName="(0) No
Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No
Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use
standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N" PrgCaption="IFC8" ServiceInst="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


TCP communication

Communication via TCP has been successfully tested in June 2012 with IFC8 version 8.7.5.3

The TCP port is always 6830, no further changes are necessary


Specific Interface Setup

This interface is based on FIAS and does not need any specific setup.

FKT-Logo = FIAS_MC3


UNI-Driver (UNI)

All UNI-Drivers are handled using the IFC7Wrapper until IFC version 8.2.3.x.

Wrapper installations need to be updated to use IFC 8.2.4.x or newer when updating V8 to 8.5.

Wrapper installs are generating the FKT-Logo as "XML". There will not be any license issued for FKT="XML".


Specific Setup of the UNI-Driver

It is always recommended to NOT copy a sample XML from this EH for UNI-driver installations, but to create the XML through IFC8.

We are constantly adding further pre-configurations to some of the drivers.

Configuration:

  1. IFC can send a defined string upon startup or shutdown:

  2. Under Validity you can define the structure of the incomming records:

  3. Under Charge Postings you can define various values for the posting record:

(See tool-tips or the config-Xml below for details)

  4. Under Roomstatus you can define the definition of the incoming room-status record:

  5. Under Minibar you can define the definition of the incoming minibar-status record:

Note: UNI_Charge_Multiplier will have an influence on incoming charges with decimal separators. When setting this attribute to "1" will IFC read all digits before the separator. Setting it e.g. to "100" will make IFC read two digits after the separator too. (Remember: IFC8 does not use any decimals for postings internally. So the above is intended functionality.)

Sample Ifc8Config.Xml:

Note: The FKT_LOGO in this example is "UNI". You need to change this accordingly (through IFC8-Config !!!) before proceeding.

Functionalities which you don't intend to use should be left as "0" or <empty>, just as they are filled by default.

<IFC8>
<IFC1 Required="Y" PathId="N" PathIdN="ASYN" PathIdX="PMS1" RefNum="20" PathId1="PMS1">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
<PARSE FktLogo="UNI" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<UNI UNI_StartSequence ="" UNI_StopSequence ="">
 <Validity
UNI_MinimumLength ="0"
UNI_ValidPosition_1 ="0"
UNI_ValidCharacter_1 =""  UNI_ValidPosition_2 ="0"
UNI_ValidCharacter_2 =""  UNI_InvalidPosition_1 ="0"
UNI_InvalidCharacter_1 =""  UNI_InvalidPosition_2 ="0"
UNI_InvalidCharacter_2 ="" />
 <Posting
UNI_CheckForDoublePostings ="N"
UNI_ExtentionStart ="5"
UNI_ExtentionLength ="6"
UNI_CallStart ="26"
UNI_CallLength ="10"
UNI_CallEpilogLen ="0"
UNI_UnitStart ="37" UNI_UnitLength ="5"
UNI_Unit_Multiplier ="1"
UNI_ChargeStart ="37"
UNI_ChargeLength ="5"
UNI_Charge_Multiplier ="100"
UNI_DateYear ="16"
UNI_DateMonth ="14"
UNI_DateDay ="12"
UNI_TimeHour ="19"
UNI_TimeMinute ="21"
UNI_TimeSeconds ="23"
UNI_LengthHours ="43"
UNI_LengthMinutes ="45"
UNI_LengthSeconds ="47"
UNI_LengthSecLength ="0"
UNI_Length_Multiplier ="1"
UNI_TrunkStart ="0"
UNI_TrunkLength ="0"
UNI_TrunkAccessStart ="0"
UNI_TrunkAccessLength ="0"
UNI_Time12hourFormatStart ="0"
UNI_Time12hourFormatChar ="P"
UNI_DCSelector1Start ="0"  UNI_DCSelector1Length ="0"
UNI_DCSelector2Start ="0"
UNI_DCSelector2Length ="0"
UNI_DefaultExtension =""  UNI_NoPost_Start_1 ="0"
UNI_NoPost_Character_1 =""  UNI_NoPost_Start_2 ="0"
UNI_NoPost_Character_2 =""  UNI_Subtotal1_Start ="0"
UNI_Subtotal1_Length ="0"
UNI_Subtotal2_Start ="0"
UNI_Subtotal2_Length ="0"
UNI_Subtotal3_Start ="0"
UNI_Subtotal3_Length ="0"
UNI_Subtotal4_Start ="0"
UNI_Subtotal4_Length ="0"
 />
 <Roomstatus
UNI_RS_IdentifierStart ="0"
UNI_RS_IdentifierChar =""  UNI_RS_ValueStart ="0"
UNI_RS_ValueLen ="0" />
 <Minibar
UNI_Minibar_Mode ="0"
UNI_Minibar_IdentifierStart ="0"
UNI_Minibar_IdentifierChar =""  UNI_Minibar_ValueStart ="0"
UNI_Minibar_ValueLen ="0"
UNI_Minibar_Multiplier ="1"
UNI_Minibar_CountStart ="0"
UNI_Minibar_CountLen ="0" />
</UNI>
</PARSE>
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_UNI" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_UNI
LLC_IgnoreChecksum ="Y"
LLC_TimeOutWaitingForACK ="3000"  UNI_StartCharacter ="-1"
UNI_StopCharacter ="-1"
UNI_RecordLength ="-1"
UNI_CheckSumPos ="0"
UNI_ACKAnswerDelay ="0"
UNI_EnablePolling ="N"
UNI_PollingSequence =""  UNI_PollingTimeout ="5000"  UNI_AnswerENQWithACK ="N"
UNI_AnswerRecordWithACK ="N"
UNI_UseACKDefinition ="N"
UNI_ENQ_ACKDefinition =""  UNI_Record_ACKDefinition ="" />
</PROT>
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
</IFC1>
<PMS1 ConfAllowed="Y" Simulation="Y" Log="Y" MonDetail="3" MonType="CHR" LogLength="500000" Required="Y" FktLogo="SERV" IfcNum="1" MsqTcpPort="5500" MsqTcpDns="N" Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckSum="N" Layer2="N" RecMaxLength="64000" CheckState="Y" DatascopeType="CHR" RecBuffTimeOut="500" RefNum="20" WSNum1="IFC1" WSNumX="IFC1" XmlDecl="N">
<MON MonShowState="N" MonType="CHR" MonDetail="3" MonCharSet="0" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
<PARSE FktLogo="SERV" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<PROT Layer2="LLC_SIM" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS" CheckState="Y" Port="GlobalDbsConnect" Param="0">
<DBS DbsDebugMode="N" MsqTcpDns="N" MsqTcpPort="5500" />
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd=live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>

Problems:

----------------------------------------------------------------------------------------------------------------------------------

02.16/18:49:38] +> L- 16/02 18:47:34, 00:13 ATT1 0015 4174050 U 1 36000 18

[02.16/18:49:38] <Error>

-Code: 29 (Prot_TimeOut)

-Source: ProtClass/ReadChar/moReadCharTimer_Timer

-Description: RecBuffTimeOut [0,5sec.] in Data-$

-----------------------------------------------------------------------------------------------------------------------------------

This will be a rather typical error during the installation of a UNI-driver.,

RecBuffTimeOut = ReceiveBufferTimeout.

The default timeout for the receive buffer is 500 ms. IFC tries to locate the end of the incoming record during this timeout and will discard a record if the end is not found in the defined timeframe.

This is normally cause by incorrect settings of Start/Stop character and/or the record length.

When installing a UNI driver, ALWAYS first correct this error before doing the actual charge configuration.


Specific Setup of the PRN driver

It is always recommended to NOT copy a sample XML from this EH for UNI-driver installations, but to create the XML through IFC8.

We are constantly adding further pre-configurations to some of the drivers.

The printer driver can be used in cases where the standard UNI can not catch the charges any more.

This driver is specificlly designed for systems which send the charges in several lines where each of the lines is terminated with

e.g. <CR> <LF>.

Sample Config.Xml:

Note: The FKT_LOGO in this example is "PRN". You need to change this accordingly (through IFC8-Config !!!) before proceeding.

Functionalities which you don't intend to use should be left as "0" or <empty>, just as they are filled by default.

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId">
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_PRN" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_PRN
PRN_LineCount ="3"
PRN_LineEndCharacter ="10;12;13"  PRN_RecordLength ="-1"
PRN_EnablePolling ="N"
PRN_PollingTimeout ="5000"  PRN_Sync_Sequence ="xyz" />
</PROT>
<PARSE Simulation="Y" FktLogo="PRN" XmlDecl="N" XmlPackEmptyAttr="N" InLineSchema="N">
<PRN>
 <Validity
PRN_Valid_1_Line ="0"
PRN_Valid_1_Pos ="0"
PRN_Valid_1_Char =""  PRN_Valid_2_Line ="0"
PRN_Valid_2_Pos ="0"
PRN_Valid_2_Char =""  PRN_Invalid_1_Line ="0"
PRN_Invalid_1_Pos ="0"
PRN_Invalid_1_Char =""  PRN_Invalid_2_Line ="0"
PRN_Invalid_2_Pos ="0"
PRN_Invalid_2_Char ="" />
 <Posting
PRN_CheckForDoublePostings ="N"
PRN_Extention_Line ="1"
PRN_Extention_Pos ="7"
PRN_Extention_Length ="4"
PRN_Extension_Default ="9500"  PRN_Call_Line ="3"
PRN_Call_Pos ="8"
PRN_Call_Length ="30"
PRN_Unit_Line ="1"
PRN_Unit_Pos ="0"
PRN_Unit_Length ="0"
PRN_Unit_Multiplier ="1"
PRN_Charge_Line ="4"
PRN_Charge_Pos ="10"
PRN_Charge_Length ="6"
PRN_Charge_Multiplier ="1"
PRN_Date_Year_Line ="1"
PRN_Date_Year_Pos ="13"
PRN_Date_Month_Line ="1"
PRN_Date_Month_Pos ="15"
PRN_Date_Day_Line ="1"
PRN_Date_Day_Pos ="17"
PRN_Time_Hour_Line ="3"
PRN_Time_Hour_Pos ="1"
PRN_Time_Minute_Line ="3"
PRN_Time_Minute_Pos ="3"
PRN_Time_Seconds_Line ="3"
PRN_Time_Seconds_Pos ="5"
PRN_Length_Hours_Line ="4"
PRN_Length_Hours_Pos ="2"
PRN_Length_Minutes_Line ="4"
PRN_Length_Minutes_Pos ="4"
PRN_Length_Seconds_Line ="4"
PRN_Length_Seconds_Pos ="6"
PRN_Length_SecLength ="0"
PRN_Length_Multiplier ="1"
PRN_Trunk_Line ="0"
PRN_Trunk_Pos ="0"
PRN_Trunk_Length ="0"
PRN_TrunkAccess_Line ="0"
PRN_TrunkAccess_Pos ="0"
PRN_TrunkAccess_Length ="0"
PRN_DCSelector1_Line ="0"
PRN_DCSelector1_Pos ="0"
PRN_DCSelector1_Length ="0"
PRN_DCSelector2_Line ="0"
PRN_DCSelector2_Pos ="0"
PRN_DCSelector2_Length ="0" />
</PRN>
</PARSE>
<MON MonDetail="4" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" LogFileName=".\PRN_IFC1.RTF" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="N" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="0" LogFileName=".\SERV_PMS1.RTF" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef DefRef0="PRN" GuestShareflag="N" RoomNum="101" ClassofService="1" />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" PathId="N" PathIdN="ASYN" PathIdX="PMS1" RefNum="20" PathId1="PMS1">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="1500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
<PARSE FktLogo="UNI" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<UNI UNI_StartSequence="" UNI_StopSequence="">
<Validity UNI_MinimumLength="60" UNI_ValidPosition_1="32" UNI_ValidCharacter_1=":" UNI_ValidPosition_2="0" UNI_ValidCharacter_2="" UNI_InvalidPosition_1="0" UNI_InvalidCharacter_1="" UNI_InvalidPosition_2="0" UNI_InvalidCharacter_2="" />
 <Posting
UNI_CheckForDoublePostings="N" UNI_ExtentionStart="2" UNI_ExtentionLength="3" UNI_CallStart="54" UNI_CallLength="20" UNI_UnitStart="0" UNI_UnitLength="0" UNI_Unit_Multiplier="0" UNI_ChargeStart="38" UNI_ChargeLength="5" UNI_Charge_Multiplier="1"
UNI_DateYear="21" UNI_DateMonth="18" UNI_DateDay="15" UNI_TimeHour="24" UNI_TimeMinute="27" UNI_TimeSeconds="0" UNI_LengthHours="30" UNI_LengthMinutes="33" UNI_LengthSeconds="36" UNI_LengthSecLength="0" UNI_Length_Multiplier="0"
UNI_TrunkStart="0" UNI_TrunkLength="0" UNI_TrunkAccessStart="0" UNI_TrunkAccessLength="0"
UNI_Time12hourFormatStart="0" UNI_Time12hourFormatChar="P"
UNI_DCSelector1Start="0" UNI_DCSelector1Length="0" UNI_DCSelector2Start="0" UNI_DCSelector2Length="0"
UNI_DefaultExtension=""
UNI_NoPost_Start_1="0" UNI_NoPost_Character_1="" UNI_NoPost_Start_2="0" UNI_NoPost_Character_2="" UNI_Subtotal1_Start="0"
UNI_Subtotal1_Length="0" UNI_Subtotal2_Start="0" UNI_Subtotal2_Length="0" UNI_Subtotal3_Start="0" UNI_Subtotal3_Length="0" UNI_Subtotal4_Start="0" UNI_Subtotal4_Length="0" />
<Roomstatus UNI_RS_IdentifierStart="0" UNI_RS_IdentifierChar="" UNI_RS_ValueStart="0" UNI_RS_ValueLen="0" />
<Minibar UNI_Minibar_Mode="0" UNI_Minibar_IdentifierStart="0" UNI_Minibar_IdentifierChar="" UNI_Minibar_ValueStart="0" UNI_Minibar_ValueLen="0" UNI_Minibar_Multiplier="1" />
</UNI>
</PARSE>
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_UNI" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_UNI
LLC_IgnoreChecksum="Y" LLC_TimeOutWaitingForACK="3000"
UNI_StartCharacter="65" UNI_StopCharacter="13" UNI_RecordLength="-1" UNI_CheckSumPos="0" UNI_ACKAnswerDelay="0" UNI_EnablePolling="N" UNI_PollingSequence="" UNI_PollingTimeout="5000" UNI_AnswerENQWithACK="N" UNI_AnswerRecordWithACK="N"
UNI_UseACKDefinition="N" UNI_ENQ_ACKDefinition="" UNI_Record_ACKDefinition="" />
</PROT>
<COMM CheckState="N" Layer1="COM" Port="4" Param="9600,N,8,1" />
</IFC1>
<PMS1 Required="Y" WSNumX="IFC1" RefNum="20">
<PARSE FktLogo="SERV" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<SERV IfcNum="2" />
</PARSE>
<MON MonShowState="N" MonType="CHR" MonDetail="3" MonCharSet="0" LogLength="1500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
<PROT Layer2="LLC_SIM" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS" CheckState="Y" Port="GlobalDbsConnect" Param="0">
<DBS DbsDebugMode="N" MsqTcpDns="N" MsqTcpPort="5502" />
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 DbsConfig="ICFG(0)" SetupIRMS="IRMS" User="V8LIVE" Alias="V8" Pwd="LIVE" />
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

No specific setup is necessary. This interface is based on the FIAS-driver.


POS - Point of Sales Systems


General Setup of the Standard Micros Interface

  1. Low Level Definition

The MICROS system needs different lowlevel drivers (ACK/NACK etc) depending on the communication layer (COM<->TCP)

IFC8 is defaulted to TCP communications. If you choose to connect via RS232 you MUST change the Layer2 value manually.

RS232 (most drivers):

TCP (only available for selected drivers):

CheckSum value is the same for both TCP and RS232 connections.

  2. General considerations:

The M27 parser configures itself so that Room-Posting payment methods are automatically treated differently then other payment methods.

In scenarios where IFC8 is not connected to V8 one Room-Posting payment method can be added to the Ifc8Config.xml using: M27_RoomPaymethod="16".

In installation with PMS=V8 do NOT add this attribute as that limits the functionality to only one room-posting payment method.

Note: The former "I/" inquiry from IFC7 (pseudo enhanced inquiry) is not available for any non-Micros system.

Different Micros Systems:

FKT "M27" can be used for various Micros systems. When connecting to 3700/8700/9700 in standard mode no special settings are required.

However, when connecting to elder Micros systems you need to configure the guestname in capital letters, as some elder workstation can not display other characters.

To do so set M37_SendNameUppercase="Y"

  3. PostListItemNum

As of version 8.8.0.11 a new parameter has been added to IFC8: M27_FixPostListItemNum

Some vendors incorrectly send the PostListItemNum with value "1" during cash&creditcard postings. This can lead to the posting being sent to a guests room instead of the related paymaster.

To overcome this vendor limitation you can activate this functionality. Once activated IFC8 wil check all incoming postings and will compare if the payment method is a roompaymentmethod or not.

And if the payment method is not a roompayment but the PostListItem is set to "1", then IFC8 will replace this "1" with a "0" before further processing.

A sample Ifc8Config.Xml:

NOTE: Check your FKT-Logo !!

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum1="PMS1" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM CheckState="Y" Layer1="TCP/S" Port="5007" Param="LOCAL" />
<PROT ReInit_On_ExpEnq="N" Layer2="M87TCP" CheckSum="M87CS" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="N" FktLogo="M37" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
 <M37
M37_RoomPaymethod ="0"
M37_CreditLimitOverride =""  M37_RequestType ="1"
M37_SendNameUppercase ="Y"
M37_SalesItemizer ="4"
M37_RoomnumberInNamefield ="0" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5504" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="2" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>


Specific Interface Setup of the generic XML-POS driver

There is no specific setup necessary.

The only configurable items are the specific DC setup and IDRF/IFC_FRM configuration for the two reference fields.

Two reference fields can be passed to the POS for every guest. These are freely configurable.

NOTE: Reformatting of the name-field is NOT possible. The PostList contains :

- Lastname

- Firstname

- Title

- VIP status

It remains the responsibility of the POS system to reformat this information on their POS for display.

There will NOT be any license for the FKT-Logo "XML_POS" aside of the Demo license codes.

(The demo FKT for OPERA is "DMO".)


Ifc8Config.Xml

- <IFC8>
-
<IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1"
PathId1="PMS1"
SetPathId1="1">
- <COMM
Layer1="COM"
CheckState="N"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PROT
Layer2="LLC_BMP"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="1"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="2"
BMP_SupportEmbeddedACK="N"
/>
</PROT>
- <PARSE
FktLogo="AD6"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
<AD6 AD6_ChargeRecordFormat="0" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="32000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
</IFC1>
-
<PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="32000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
DefRef0="AD6"
PostInformation="101"
MaximumGuestsNum="16"
PostNum="1234"
RequestType="0"
Date="(Date)"
Time="(Time)"
RoomNum="101"
PostListItemNum="1"
TotalAmount="20000"
SalesOutlet="1"
ServingTime="1"
CheckNum="12345678"
Subtotal1="1000"
Subtotal2="1000"
Subtotal3="1000"
Subtotal4="1000"
Subtotal5="1000"
Tip="200"
PostType="T"
GuestName="Koehler"
AnswerStat="OK"
ClearText="ClearText_Value"
PathId="1"
GuestFormattedname="Koehler,
Andreas" />
</GENERAL>
</IFC8>


Ifc8Config.Xml

- <IFC8>
-
<IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1"
PathId1="PMS1"
SetPathId1="1">
- <COMM
Layer1="COM"
CheckState="N"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PROT
Layer2="LLC_BSC"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_BSC
LLC_MasterSlave="S"
LLC_AlternatingACK="Y"
LLC_ENQTimeOut="3000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="5"
BSC_SyncCharacterList="22,22"
/>
</PROT>
- <PARSE
FktLogo="AD9"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
<AD9 AD9_ChargeRecordFormat="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="32000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
</IFC1>
-
<PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="32000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
DefRef0="AD9"
PostInformation="101"
MaximumGuestsNum="16"
PostNum="1234"
RequestType="0"
Date="(Date)"
Time="(Time)"
RoomNum="101"
PostListItemNum="1"
TotalAmount="20000"
SalesOutlet="1"
ServingTime="1"
CheckNum="12345678"
Subtotal1="1000"
Subtotal2="1000"
Subtotal3="1000"
Subtotal4="1000"
Subtotal5="1000"
Tip="200"
PostType="T"
GuestName="Koehler"
AnswerStat="OK"
ClearText="ClearText_Value"
PathId="1"
GuestFormattedname="Koehler,
Andreas" />
</GENERAL>
</IFC8>


Specific Interface Setup

This interface is based on FIAS.

Aldiana has some specific idea about how the A-fields in PL should be filled. Ensure that you have the latest copy of "V8_IFC_ALDIANACARD"-view in your system to be used with your configuration.


Specific interface setup

No specific setup necessary, this I/F is based on FIAS.


IDRF insert script

Bella Vita uses a lot of A-fields. Following is a sample IDRF insert script:

delete from idrf where idrf.IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'FIAS_BVS_GuestFormattedName');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME GuestFormattedName'

WHERE IDRF_LONGDESC='FIAS_BVS_GuestFormattedName';

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'FIAS_BVS_DefRef7');

UPDATE IDRF SET IDRF_CONDITION = 'TITLE DefRef7'

WHERE IDRF_LONGDESC='FIAS_BVS_DefRef7';

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'FIAS_BVS_DefRef1');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_XCMS_ID DefRef1,

Where GUEST_XCMS_ID=GUESTNUMBER'

WHERE IDRF_LONGDESC='FIAS_BVS_DefRef1';

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'FIAS_BVS_DefRef2');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ZIP DefRef2,

Where GUEST_XCMS_ID=GUESTNUMBER'

WHERE IDRF_LONGDESC='FIAS_BVS_DefRef2';

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'FIAS_BVS_DefRef3');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_COUNTRY DefRef3,

Where GUEST_XCMS_ID=GUESTNUMBER'

WHERE IDRF_LONGDESC='FIAS_BVS_DefRef3';

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'FIAS_BVS_DefRef4');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_CITY DefRef4,

Where GUEST_XCMS_ID=GUESTNUMBER'

WHERE IDRF_LONGDESC='FIAS_BVS_DefRef4';

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'FIAS_BVS_DefRef5');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ADDRESS1 DefRef5,

Where GUEST_XCMS_ID=GUESTNUMBER'

WHERE IDRF_LONGDESC='FIAS_BVS_DefRef5';

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'FIAS_BVS_DefRef6');

UPDATE IDRF SET IDRF_CONDITION = 'TO_CHAR(GUEST_BIRTHDAY, ''YYMMDD'') DefRef6,

Where GUEST_XCMS_ID=GUESTNUMBER'

WHERE IDRF_LONGDESC='FIAS_BVS_DefRef6';

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'FIAS_BVS_DefRef8');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_PHONE DefRef8,

Where GUEST_XCMS_ID=GUESTNUMBER'

WHERE IDRF_LONGDESC='FIAS_BVS_DefRef8';

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'FIAS_BVS_DefRef9');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_FAX DefRef9,

Where GUEST_XCMS_ID=GUESTNUMBER'

WHERE IDRF_LONGDESC='FIAS_BVS_DefRef9';

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'FIAS_BVS_DefRef10');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_EMAIL DefRef10

Where GUEST_XCMS_ID=GUESTNUMBER'

WHERE IDRF_LONGDESC='FIAS_BVS_DefRef10';


Specific Interface Setup

No specific setup necessary, this I/F is based on FIAS.


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
  <COMM
CheckState="Y"
Layer1="TCP2"
Port="C5001|S6001"
Param="LOCAL"
/>
<PROT ReInit_On_ExpEnq="N"
                    Layer2="LLC_CME"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500">
  <LLC_CME
LLC_ENQTimeOut="15000"
LLC_ACKTimeOut="15000"
LLC_ENQRetries="2"
LLC_SendRetries="2"
CME_ENQPollingTime="30"
/>
</PROT>
<PARSE Simulation="N"
                    FktLogo="CME"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N">
<CME CME_FromNode="PMS001">
<EFT_Card_Types CME_Card_Type_Default="VISA" />
<POS_Splitting CME_BinNumber_1="Subtotal1" CME_BinNumber_Default="Subtotal1" />
</CME>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="255"
/>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
  <COMM
CheckState="Y"
Layer1="TCP/C"
Port="5001"
Param="LOCAL"
/>
  <PROT
ReInit_On_ExpEnq="N"
Layer2="N"
CheckSum="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
/>
<PARSE Simulation="Y"
                    FktLogo="OPERA"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N">
<OPERA IfcNum="1" LA_TimeOut="120" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<SimAttrDef IFC8="ICFG(0)IRMSV8V8LiveLive" />
</GENERAL>
</IFC8>


Ifc8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathId1="PMS1"
PathIdX="PMS1"
SetPathId1="1">
- <COMM
CheckState="N"
Layer1="COM"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
- <PROT
Layer2="LLC_BMP"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="8000"
LLC_ACKTimeOut="3000"
LLC_ENQRetries="4"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="50"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="1"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
- <PARSE
FktLogo="CTC"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
<CTC DoublePostingSize="0" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5502"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
- <GENERAL
ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1"
        GetPathId="PathId"
        PathId1="PMS1"
        PathIdX="PMS1"
        SetPathId1="1">
  <COMM
CheckState="Y"
Layer1="COM"
Port="1"
Param="9600,N,8,1"
/>
<PROT ReInit_On_ExpEnq="N"
                Layer2="LLC_BLK"
                CheckSum="CKS_NONE"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="Y"
BLK_SendStartCharacter="0"
BLK_SendStopCharacter="0"
BLK_ReceiveStartCharacter="2"
BLK_ReceiveStopCharacter="0"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="N"
/>
</PROT>
<PARSE Simulation="Y"
                FktLogo="NC1"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N">
  <NC1
NC1_ModelSelection="0"
NC1_RoomPaymethod="0"
NC1_CreditLimitOverride=""
NC1_RequestType="1"
NC1_SalesItemizer="4"
NC1_SendNameUppercase="N"
NC1_GuestSelectorLength="1"
NC1_PostRequest_GuestList="0"
NC1_AccountPostings="Y"
NC1_TotalAmount_Field="0"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="255"
/>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32"
/>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
DefRef0="NC1"
Date="(Date)"
GuestName="Test"
GuestFormattedname="Formatted,
Test"
GuestShareflag="N"
GuestTitle="Prof."
RoomNum="101"
SwapFlag=""
Time="(Time)"
/>
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1"
                    CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_BSC"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_BSC
LLC_MasterSlave="S"
LLC_AlternatingACK="Y"
LLC_ENQTimeOut="3000"
LLC_ACKTimeOut="5000"
LLC_DataTimeOut="10000"
LLC_ENQRetries="5"
BSC_SyncCharacterList=""
/>
</PROT>
<PARSE FktLogo="FCP"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
  <FCP
FCP_UmlauteFlag="_"
FCP_RequestType="1"
DoublePostingSize="0"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5502"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="N"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            GetPathId="PathId"
            PathIdX="PMS1">
<COMM Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1"
                    CheckState="N">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="8000"
LLC_ACKTimeOut="7000"
LLC_ENQRetries="4"
LLC_SendRetries="9"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<PARSE FktLogo="GTF"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="20127"
                    CharPlaceHolder_Def="|GE_UML||">
<GTF />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="N"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

The M27 parser configures itself so that Room-Posting payment methods are automatically treated differently then other payment methods.

In scenarios where IFC8 is not connected to V8 one Room-Posting payment method can be added to the Ifc8Config.xml using: M27_RoomPaymethod="16".

In installation with PMS=V8 do NOT add this attribute as that limits the functionality to only one room-posting payment method.

Note: The former "I/" inquiry from IFC7 (pseudo enhanced inquiry) is NOT available with IFC8. Should you want to provide this functionality to the Hotel, please install the enhanced interface. There are no plans to add this feature in the future.

Different Micros Systems:

FKT "M27" can be used for various Micros systems. When connecting to 3700/8700/9700 in standard mode no special settings are required.

However, when connecting to elder Micros systems you need to configure the guestname in capital letters, as some elder workstation can not display other characters.

To do so, add:

UPLASTNAME DefRef1

to your IDRF.

Note: M27 uses DefRef1 and not GuestFormattedName for the name configuration !!


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
  <COMM
Layer1="TCP/C"
CheckState="Y"
Port="5002"
Param="LOCAL"
/>
<PROT Layer2="LLC_HPC"
                    CheckSum="CKS_CRC_CCITT"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
<LLC_HPC LLC_IgnoreChecksum="N" />
</PROT>
<PARSE FktLogo="HPC"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="20127"
                    CharPlaceHolder_Def="|GE_UML|46|46">
<HPC DoublePostingSize="0" HPC_Use_PathId_Translation="Y">
<PathId_Translation

HPC_PathId_Translation_Default="1"
HPC_PathId_Translation_01="1"
HPC_PathId_Translation_02="2"
/>
</HPC>
</PARSE>
  <MON
MonDetail="4"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_ARAGON="(-1) No Printer" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5502"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_ARAGON="(-1) No Printer" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8"
            ServiceInst="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef DefRef0="HPC" />
</GENERAL>
</IFC8>


Specific Interface Setup

IFC8 can determine the target path-ID for a posting from the incoming Track2-data.

This functionality has been added for the implementation at Loews/Universal studios.

To enable:

and then set the Hotel-ID from the specific Track2-data into relation with the used Path_Id

The Hotel-ID value is read from position 4 of field 2 of the Hypercom record:

Example:

[10.14/09:41:01] <MessLvl4> Field No:2 Status:True Value: 11021015597028

No further specific configuration is necessary.


Communication Verification

The Hypercom driver is quite cryptic, so the fields are already translated in the logfile:

[09.15/11:07:38] -> [00]^[00]p<€(À[00][00]ƒp [00][00][00][00][00][00][00][00]…[00]Fw1[09][09][09][09][00][00]6[00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00][00]92581123175002090128852009012800

[09.15/11:07:38] <MessLvl4> Record Type:200 Len:94

[09.15/11:07:38] <MessLvl4> Field No:2 Status:True Value: 11031583167020

[09.15/11:07:38] <MessLvl4> Field No:3 Status:True Value: 000000

[09.15/11:07:38] <MessLvl4> Field No:4 Status:True Value: 000000000085

[09.15/11:07:38] <MessLvl4> Field No:11 Status:True Value: 004677

[09.15/11:07:38] <MessLvl4> Field No:12 Status:True Value: 111231

[09.15/11:07:38] <MessLvl4> Field No:13 Status:True Value: 0915

[09.15/11:07:38] <MessLvl4> Field No:14 Status:True Value: 0909

[09.15/11:07:38] <MessLvl4> Field No:22 Status:True Value: 0900

[09.15/11:07:38] <MessLvl4> Field No:25 Status:True Value: 00

[09.15/11:07:38] <MessLvl4> Field No:35 Status:True Value: 000000000000000000000000000000000000

[09.15/11:07:38] <MessLvl4> Field No:37 Status:True Value: 925811231750

[09.15/11:07:38] <MessLvl4> Field No:41 Status:True Value: 02090128

[09.15/11:07:38] <MessLvl4> Field No:42 Status:True Value: 852009012800

[09.15/11:07:38] <= <PostRequest xmlns="x-schema:PostRequestSchema_I"
 Track2="11031583167020" RequestType="2" TotalAmount="85"
 CrossReference0="004677" CrossReference1="0900" CrossReference2="00"
 PostNum="000000|004677|111231|0915|925811231750|11031583167020"
 PathId="3" CheckNum="925811231750" SalesOutlet="852009012800"
 PostType="C" Date="090915" Time="111231"
 WSNum="02090128"/>

Record Types:

100 = EFt Authorization - not supported

200 = Room Posting

220 = Sales Completion - not supported

400 = void/reversal - not supported, Hypercom advised that they send negative roompostings with type=200 and a negative amount

800 = logon/logoff

Fields - and their description as per Hypercom:

Number | Description
2 | primary account number
3 | processing code
4 | amount
11 | systems trace audit number
12 | Time, Local transaction
13 | Date, Local transaction
14 | Expiration date
22 | Point of service entry mode
24 | NII
25 | Point of service condition code
35 | Track 2 data
37 | Retrieval reference number
41 | Card acceptor terminal identification
42 | Card acceptor identification code
61-63 | Private use (not processed by IFC8)


Specific Interface Setup

After we experience multiple problems with the FIAS implementation on the Infogenesis side the driver was set to "Not Released" beginning of 2008.

As no further installations were allowed Infogenesis finally started to fix the problems on their side.

New testing has taken place and the re-written driver is now compatible to FIAS.

Minimum version of the Infogenesis system needs to be >="4.1.1.8"

Communication is done via TCP/IP using Full-Duplex as protocol layer.

Linkrecords:

[07.10/15:56:15] -> LD|DA080710|TI155613|IFPO|V#4.1.1.11|

[07.10/15:56:15] -> LR|RIPR|FLWSSOPIC#RNG#GNSTPTTAPMP#DATIS2S3S4S5S6S7S8S9T1S1TPSC|

[07.10/15:56:15] -> LR|RIPL|FLWSSORNG#GNGFP#DATI|

[07.10/15:56:15] -> LR|RIPA|FLWSSOC#RNG#GNASCTP#DATI|

[07.10/15:56:15] -> LA|DA080710|TI155613|

or

[07.10/14:31:22] -> LD|DA080710|TI143121|IFPO|V#4.1.1.11|

[07.10/14:31:22] -> LR|RIPR|FLWSSOPIC#RNG#GNSTPTTAPMP#DATIS1TPSC|

[07.10/14:31:22] -> LR|RIPL|FLWSSORNG#GNGFP#DATI|

[07.10/14:31:22] -> LR|RIPA|FLWSSOC#RNG#GNASCTP#DATI|

[07.10/14:31:22] -> LA|DA080710|TI143121|

Note (Known issues):

  1. The amount of SalesItemizers is configurable on the Infogenesis side. This it is possible that the LinkRecords look different from one installation to another.

  2. Infogenesis has an option where it can be defined if an inquiry should be made prior to a void-transaction. The installers regularly forget to set this option, however this is mandatory functionality. No roomposting may ever be sent without a prior inquiry.

The following configuration is required in the pos2pms.ini file in order to send an inquiry prior to a void::

[Fidelio Interface Specifics]

RefundWaitsecs = 5

-> This is info from an Infogenesis technician and not from Infogenesis development, so the info is not verified.

  3. Infogenesis ignores responses to Cash & Creditcard postings. All checks are closed regardless if IFC sends a positive response or a negative response.


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum1="PMS1" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM CheckState="Y" Layer1="TCP/S" Port="5007" Param="LOCAL" />
<PROT ReInit_On_ExpEnq="N" Layer2="M87TCP" CheckSum="M87CS" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="N" FktLogo="INK" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<INK INK_CreditLimitOverride ="" INK_RoomPaymethod ="" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5504" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="2" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="INK"

Layer1="TCP/S"

Port="5002"

Paramy="LOCAL"

CheckSum="M87CS"

Layer2="M87TCP"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum1="PMS1"

WSNum2="PMS1"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="2"

MsqTcpPort="5743"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Specific Interface Setup

IFC8 connects to INKA through a middleware which is usually installed on the IFC-PC.

Differences between the standard Micros-Driver and the INKA Interface:

  • No cash or credit card postings are supported.

  • Sales Itemizers are not supported, the amount is always sent as Sales Itemizer 1.

  • Service Charge Itemizers are not supported.

  • Discount Itemizers are not supported.

  • Serving Periods / cashiers are not supported.

  • The INKA terminal number is sent as revenue center number.

  • Number of covers are not supported.

  • Tax totals are not supported (will always be send as 0.00)

  • Any kind of selection/confirmation is not possible.

  • Inquiries are not supported.

  • Department code selection by Waiter-Key is supported.

By using differnt keys per timeperiod (Breakfast-Key, Lunch-key etc) this functionality can be used to have DC-selection by time-period.

Setup of the middleware:

On the middleware you need to enter the payment number (=Tender Media) which should be sent to the IFC. The same number needs to be added to IACT as ROOM-posting. The middleware has a setup option, where it is configurable, if postings to rooms with multiple guests should be declined or if postings should always be posted to the first guest in the name-list. This setting is global.


IFC8Config.Xml

<IFC8>
<IFC1 ObjCaption="IFC1"
            Required="Y"
            GetPathId="PathId"
            PathIdX="PMS1"
            RefNum="20"
            PathId1="PMS1"
            SetPathId1="1">
<PRN PrinterName="\No Printer\" FormatOptions="(112) NewPage+CenterPage" PageSize="0" ControlChars="" PrinterName_DE-B-NB10-008="\Standard Printer\" />
  <MON
LogFileType="RTF"
MonShowState="N"
MonType="CHR"
MonDetail="3"
MonFontSize="S"
LogLength="2000000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
MonRefNum="Y"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PARSE FktLogo="KDR"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="437"
                    CharPlaceHolder_Def="|GE_UML|46|46">
  <KDR
KDR_SendNameUppercase="Y"
KDR_UmlauteFlag="_"
KDR_RequestType="1"
DoublePostingSize="0"
/>
</PARSE>
<PROT Layer2="LLC_UNI"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_UNI
LLC_IgnoreChecksum="Y"
LLC_TimeOutWaitingForACK="3000"
UNI_StartCharacter="2"
UNI_StartCharList=""
UNI_StopCharacter="3"
UNI_RecordLength="-1"
UNI_CheckSumPos="0"
UNI_ACKAnswerDelay="0"
UNI_EnablePolling="N"
UNI_PollingSequence=""
UNI_PollingTimeout="5000"
UNI_AnswerENQWithACK="N"
UNI_AnswerRecordWithACK="N"
UNI_UseACKDefinition="N"
UNI_ENQ_ACKDefinition="6"
UNI_Record_ACKDefinition="6"
UNI_SendStartCharList="2"
UNI_SendStopCharList="3"
UNI_Remove_STX_ETX="3"
/>
</PROT>
<COMM Layer1="TCP"
                    CheckState="Y"
                    Port="5009"
                    Param="LOCAL">
<TCP SendTimeOut="0" />
</COMM>
</IFC1>
<PMS1 ObjCaption="PMS1"
            Required="Y"
            WSNumX="IFC1"
            RefNum="20">
<PRN PrinterName="\No Printer\" FormatOptions="(112) NewPage+CenterPage" PageSize="0" ControlChars="" PrinterName_DE-B-NB10-008="\Standard Printer\" />
  <MON
LogFileType="RTF"
MonShowState="N"
MonType="CHR"
MonDetail="3"
MonCharSet="256"
MonFontSize="S"
LogLength="2000000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
MonRefNum="Y"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PARSE FktLogo="SERV"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
<PROT Layer2="LLC_SIM"
                    CheckSum="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS"
                    CheckState="Y"
                    Port="GlobalDbsConnect"
                    Param="0">
  <DBS
DbsDebugMode="N"
MsqTcpDns="N"
MsqTcpPort="5502"
/>
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y"
            PrgCaption="IFC8"
            ErrorEMail="N"
            ServiceInst="N">
  <GlobalDbsConnect0
DbsConfig="ICFG(0)"
User="V8LIVE"
Alias="v8local"
Pwd="FidCryptDB|JpjUsuBoBbs="
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

Note: Check your FKT-Logo !!

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
<PARSE FktLogo="SQL" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<SQL SQL_SendCreditlimit="N" SQL_Splitting_TotalAmount="1" SQL_NumberOfSubtotals="8" />
</PARSE>
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_BMP" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_BMP
BMP_UseETXforChecksum="Y" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0" BMP_IgnoreChecksum="N" BMP_SendENQ="1" BMP_SendLeadingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="8000" LLC_ACKTimeOut="3000" LLC_ENQRetries="4" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
/>
</PROT>
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<MON MonShowState="N" MonType="CHR" MonDetail="3" MonCharSet="0" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
<PARSE FktLogo="SERV" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<SERV IfcNum="2" />
</PARSE>
<PROT Layer2="LLC_SIM" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS" CheckState="Y" Port="GlobalDbsConnect" Param="0">
<DBS DbsDebugMode="N" MsqTcpDns="N" MsqTcpPort="5501" />
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>


MF-POS

TCP/IP interface to Micros-Fidelio POS system


Specific Interface Setup (MF_POS)

Specific Interface Setup (MF-POS)

Cash & Credit Card postings:

MF-POS does not send separate payment methods but will send every record with payment method ="ROOM".

The respective paymasters for Cash & Creditcard are setup in MF-POS and the postings are sent directly to these paymasters.

Activation of autobalancing is as well done on the MF-POS side. If activated will MF-POS send two records per posting and will have the payment methods in the discount fields. (Actual discounts are never sent but always subtracted from the itemizers by MF-POS, before they are sent.) Department codes for paymentmethods are configured in IDCO_SUB_TTL with "Dx", where "x" is the respective itemizer numbers.

For IFC config this means:

IACC:

- add one record to IACC with IACC_PAY_METH = "ROOM" and IACC_DEST_TYPE="0"

IDRV:

- put "0" as value into IDRV_ACCT_TYPE

TaxItemizers:

MF-POS may use the taxitemizers as additional SalesItemizers. In that case you need to set "TaxEx" in IDRV.FEATURES and add the TaxItemizers to your IDCO configuration.

Userdefinable fields:

Following DefRefs are used by this interface during the inquiry circle:

DefRef | Usage
DefRef1 | Remark1
DefRef2 | Remark2
DefRef3 | Adults
DefRef4 | Kids

IDRF Insert script, valid as of IFC version 8.2.1.x:

delete from idrf where idrf.IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef1');

UPDATE IDRF SET IDRF_CONDITION = 'REMARK1 PostListItem_DefRef1'

WHERE IDRF_LONGDESC='PostListItem.DefRef1';

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef2');

UPDATE IDRF SET IDRF_CONDITION = 'REMARK2 PostListItem_DefRef2'

WHERE IDRF_LONGDESC='PostListItem.DefRef2';

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef3');

UPDATE IDRF SET IDRF_CONDITION = 'ADULTS PostListItem_DefRef3'

WHERE IDRF_LONGDESC='PostListItem.DefRef3';

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef4');

UPDATE IDRF SET IDRF_CONDITION = 'KIDS PostListItem_DefRef4'

WHERE IDRF_LONGDESC='PostListItem.DefRef4';

GuestCheckDetails:

Transfer of GuestCheckDetails is suppported as of MF-POS Version 6.73 and IFC Version 8.1.14.x

On the MF-POS siide please make sure that in

PPARAM.DBF->CKDTLANSWR=.F.

(Set to .T. when using IFC7, .F. is the setting for IFC8.)

TCP-Timeout on the MF-POS

The TCP-Timer on the POS is defined in PPOS->IPTIMER

Note: the value in this field must be set in milliseconds, e.g. '3000' for 3 seconds.


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="N"

FktLogo="FIAS_MFPOS"

Layer1="TCP/S"

Port="5002"

Param="LOCAL"

CheckSum="Y"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

XmlDecl="N"

WSNum1="PMS1"

WSNum2="PMS1"

WSNumX="PMS1"

InLineSchema="N"/>

<IFC2

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="N"

FktLogo="FIAS"

Layer1="TCP/S"

Port="5003"

Param="LOCAL"

CheckSum="Y"

Layer2="N"

MsqTcpPort="5508"

MsqTcpDns="Y"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

XmlDecl="N"

WSNum1="PMS1"

WSNum2="PMS1"

WSNumX="PMS1"

InLineSchema="N"/>

<PMS1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="32000"

Required="Y"

FktLogo="SERV"

IfcNum="2"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

MsqTcpPort="5500"

MsqTcpDns="Y"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

XmlDecl="N"

WSNum1="IFC1"

WSNum2="IFC2"

WSNumX="IFC1"

WSNumWKS3="IFC1"/>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum1="PMS1"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId">
  <COMM
CheckState="Y"
Layer1="TCP/S"
Port="5007"
Param="LOCAL"
/>
  <PROT
ReInit_On_ExpEnq="N"
Layer2="M87TCP"
CheckSum="M87CS"
RecMaxLength="64000"
RecBuffTimeOut="500"
/>
<PARSE Simulation="N"
                FktLogo="M27"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N">
  <M27
M27_RoomPaymethod="0"
M27_CreditLimitOverride=""
M27_RequestType="1"
M27_SendNameUppercase="Y"
M27_SalesItemizer="4"
M27_RoomnumberInNamefield="0"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="255"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5504"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
/>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="V8"
User="V8live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef IFC8="ICFG(0)IRMSV8V8LiveLive" />
</GENERAL>
</IFC8>

For interface Version 8.1.x.x:

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="M27"

Layer1="TCP/S" Layer1x="COM"

Port="5002" Portx="1"

Param="LOCAL" Paramx="9600,N,8,1"

CheckSum="M87CS"

Layer2="M87TCP" Layer2x="M87V24"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="TAB"

RecBuffTimeOut="2000"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum1="PMS1"

WSNum2="PMS1"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

MsqTcpPort="5507"

MsqTcpDns="Y"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="TAB"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8"/>

</GENERAL>

</IFC8>


Known Problems

1.

Problem:

The interface seems to read all data from the Micros from wrong positions.

Solution:

In Micros in the 'Property Management Systems Menu' the box "Allow 19 reference characters" must NOT be clicked on.

2.

Problem:

Roompostings do not work. The PMS object shows an error like:

03.07/16:35:00] <Error>

-Code: 16 (Parse_InvAttrValue)

-Source: ParseClass/PostSimple_I

-Description: GuestName="SUSAR, CERİ" with PostListItem.GuestName="SUSAR"

or RoomNum="12" with PostListItem.RoomNum="12"

or GuestNum="" with PostListItem.GuestNum="5938"

not matching

Solution:

Set GuestFormattedname in IDRF to "LASTNAME". The standard Micros protocol does not support any other formatting.


Enhanced Inquiries

The former "I/"-inquiry is available with IFC8 for Micros systems ONLY. Should you want to provide this functionality to the Hotel, please install the enhanced interface.

For 2700/4700 please contact you local office to obtain a license for the enhanced inquiries.

Please provide details about customer's Hotel License-Name and the installed Micros system.

Additionally you need to provide the Order Key as provided by IFC8 on the interface PC (see below). This order key contains information about the host PC. the actual license key from development will only run in the Hotel's environment. Changes to the environment will invalidate the key.

IFC8 will disable the enhanced inquiries without further error message should the license key be invalid.


Specific Interface Setup

  1. Low Level Definition

The MICROS system needs different lowlevel drivers (ACK/NACK etc) depending on the communication layer (COM<->TCP)

IFC8 is defaulted to TCP communications. If you choose to connect via RS232 you MUST change the Layer2 value manually.

TCP:

RS232:

CheckSum value is the same for both TCP and RS232 connections.

  2. Enquiry setup

Micros needs some extra attention for the enhanced enquiries.

In former Fidelio Versions the actual data was hardcoded and was generated by the FO-Server.

With IFC8 this information is now userdefinable. Any data from the V8_IFC_RESERVATIONSEARCH view may be added to the enquiries.

The "Prefix" of each line is defined in the Config.Xml and may thus be translated into any desired language.

The actual data is the configured in IDRF using PostListItem in the IDRF_CONDITION field.

Note: Using the IDRF-insert script from this EH will give you enough info for most installations. In most of the cases a manual reconfiguration is not necessary.

Following DefRefs are used by this interface:

DefRef | Usage
GuestFormattedname | Name Formatting for Standard Inquiries
DefRef1 | MessageStatus|LocatorStatus (pipe-separated)
DefRef2 | First 30 Character in a Reservation Query
DefRef3 | Next 20 Character in a Reservation Query
DefRef4 | Next 13 Character in a Reservation Query
DefRef5 | 1. line in a Reservation Detail Query
DefRef6 | 2. line in a Reservation Detail Query
DefRef7 | 3. line in a Reservation Detail Query
DefRef8 | 4. line in a Reservation Detail Query
DefRef9 | 5. line in a Reservation Detail Query
DefRef10 | 1. line in a Guest Detail Query
DefRef11 | 2. line in a Guest Detail Query
DefRef12 | 3. line in a Guest Detail Query
DefRef13 | 4. line in a Guest Detail Query
DefRef14 | 5. line in a Guest Detail Query
DefRef15 | 6. line in a Reservation Detail Query
DefRef16 | 7. line in a Reservation Detail Query
DefRef17 | 8. line in a Reservation Detail Query
DefRef18 | 9. line in a Reservation Detail Query
DefRef19 | 10. line in a Reservation Detail Query
DefRef20 | 6. line in a Guest Detail Query
DefRef21 | 7. line in a Guest Detail Query
DefRef22 | 8. line in a Guest Detail Query
DefRef23 | 9. line in a Guest Detail Query
DefRef24 | 10. line in a Guest Detail Query
DefRef25 | 1. line in an "I/"-inquiry
DefRef26 | 2. line in an "I/"-inquiry
DefRef27 | 3. line in an "I/"-inquiry
DefRef28 | 4. line in an "I/"-inquiry
DefRef29 | 5. line in an "I/"-inquiry
DefRef30 | 6. line in an "I/"-inquiry
DefRef31 | 7. line in an "I/"-inquiry
DefRef32 | 8. line in an "I/"-inquiry
DefRef33 | 9. line in an "I/"-inquiry
DefRef34 | 10. line in an "I/"-inquiry
DefRef35 | Discount information (numeric values, comma separated)
DefRef36 | Adults (GuestSelect2 inquiry as of IFC8 version 8.7.3.10 and new Micros systems)
DefRef37 | Kids (GuestSelect2 inquiry as of IFC8 version 8.7.3.10 and new Micros systems)

This is how IFC8 will use the above:

GuestFormattedname DefRef2-DefRef4 are the header lines in an enhanced inquiry. It is recommended to NOT touch the above.

DefRef5-DefRef9 plus DefRef14-DefRef19 are the ten information lines in a ReservationQuery from the Micros.

The headers for these lines are defined (and translatable) in the Config.Xml.

DefRef10-DefRef14 plus DefRef20-DefRef24 are the five information lines in a GuestprofileQuery from the Micros.

The headers for these lines are defined (and translatable) in the Config.Xml.

A sample setup can be found in the IDRF insert script section of this interface.

However: Please do not use this script anymore, as it will not be maintained since the defaults can be inserted through IFC8 configuration.

  3. Autobalancing Setup

Should you want to use autobalancing, first activate it in IDRV.IDRV_ACCT_TYPE

The various tender medias from the Micros system need to be added to IACC.

IACC_IDCO_POST_TYPE contains a numeric value (preferably equal to the Tender Media sent by Micros, so that it looks more logic).

Then you need to add a corresponding record in IDCO for each record in IACC (granting every tender media has it's own PMS department code.) In this record fill IDCO.IDCO_POST_TYPE with an "A" and the numeric value from IACC_IDCO_POST_TYPE.

If for example the TM for Cash is "1" and for VISA "2" and the Hotel likes to Autobalance both TM's, you would need to fill the IACC_IDCO_POST_TYPE for CASH with "1" and for VISA with "2".

The field IDCO_POST_TYPE would be filled for CASH with "A1" and for VISA with "A2".

The Fields IDCO_SUB_TTL and IDCO_SAL_OUTL should be left blank for the TM enties in IDCO.

  4. Discounts and Taxes

The Micros Parser sends all dicount itemizers as a negative amount (e.g. Discount1="-2.00")

To avoid difference postings make sure, that you multiply all discounts in IDCO with "-1.00".

TaxInclusive countries:

Taxes can either be multiplied with "0.00" in IDCO or be ignored setting TaxIn in IDRV_FEATURES.

TaxExclusive countries should set TaxEx in IDRV_FEATURES and configure the TaxItemizers accordingly in IDCO.

  5. Enhanced Package feature with the 8700 ISLs

With some special settings in the ISLs Micros will expect some specific data in the return from IFC during the short inquiry.

Data is: Lastname (C,16), RateCode (C,4), Adults(C,1), Kids,(C,1) "|" (pipe)

To achieve this set your IDRF_CONDITION entry to:

SUBSTR(RPAD(LastName,16,' '),1,16)||

DECODE(RATECODE,NULL,' ',SUBSTR(RPAD(RATECODE,4,' '),1,4))||

DECODE(ADULTS,NULL,'0',SUBSTR(LPAD(ADULTS,30,'0'),30,1))||

DECODE(KIDS,NULL,'0',SUBSTR(LPAD(KIDS,30,'0'),30,1))||

'|'

GuestFormattedname

  6. Track2 Setup

An example for Track2:

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME, IDRF_LONGDESC )

VALUES (22, 2, 'ICRD', 'IFC1: part of *.Track2 definition (get the ICRD_SEQ_NUM)');

UPDATE IDRF SET IDRF_CONDITION =

'WHERE ICRD_YRES_ID(+)=RESERVATIONNUMBER AND ICRD_XCMS_ID(+)=GUESTNUMBER AND ICRD_ACTIVE(+)=1 AND ICRD_ANSWERSTAT(+)=''OK''' WHERE IDRF_ID=22;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME, IDRF_LONGDESC )

VALUES (23, 2, 'V8_IFC_RESERVATIONSEARCH', 'IFC1: part of *.Track2 definition (get the ICRD_SEQ_NUM)');

UPDATE IDRF SET IDRF_CONDITION = 'SUBSTR(ICRD_TRACK2, 1, 16) PostInquiry_Track2' where IDRF_ID=23;

COMMIT;

This script is designed for 16-digits. Should you receive 19-digits from the Micros, please adapt the script accordingly.

  7. Specific DC-Selection by Payment Method

The PostRequest from Micros has an additional attribute 'PostRoute' which is filled with the tender media from Micros. Should you want to select the department codes based on Payment Methods as well, then just add 'R' to IDRV_IDCO_SELECT and the actual payment method from Micros into IDCO_ROUTE.

The actual attribute 'PayMeth' is untouched by this DC-selection.

Should you want to have the department code for the autobalancing record based on salesoutlet too, then add the respective records into IACC like follows:

IACC_ID | IACC_ICFG_ID | IACC_IDCO_POST_TYPE | IACC_PAY_METH | IACC_LONGDESC | IACC_SAL_OUTL | IACC_DEST_TYPE | IACC_DEST_ID
1 | 2 |  | 16 | Roomcharge |  | 0 |
2 | 2 | 11 | 1 | Cash Restaurant | 1 | 2 | 9100
3 | 2 | 12 | 1 | Cash Bar | 2 | 2 | 9100
4 | 2 | 13 | 2 | VISA |  | 2 | 9101

In this example the department code for CASH Restaurant would link to the record in IDCO where IDCO_POST_TYPE=A11 and the department code for CASH Bar would link to the record in IDCO where IDCO_POST_TYPE=A12. VISA payment would go to IDCO_POST_TYPE=A13, regardless of the outlet number.

Thus you can configure any desired combination.

  8. Enhanced Discounts & Service-Charges

Newer versions of the ISLs on the 3700 and 9700 can send more then one Discount and 2 Service-Charges.

Discounts

The discounts are in direct relation to the Sales-Itemizer, so subtracting the Discount-Itemizer from the Sales-Itemizer will result in the discounted net of this Sales-Itemizer.

3700:

8 SalesItemizers

8 Discounts

9700:

16 SalesItemizers

16 Discounts

ServiceCharges:

Both Micros systems send up to 11 Service-Charges now.

It is possible to use up to 8 Service-Charge Itemizers for percentage based Service-Charges (These are typically percentages of the respective articles.). They will be passed to the interface in the attributes:

Service-Charge1 ... Service-Charge8

irrespective if they are used or not

Further Service-Charges are:

Service-Charge9: The total of all amount based Service-Charges (e.g. flowers, tobacco etc)

Service-Charge10: "Charged Tip"

Service-Charge11: Auto-Service-Charge (also called: Keyboard Service-Charge)

  9. Charactersets and "Umlaute"

As of 8.3.0.8 new configuration parameters have been added:

ParseCharSet:

This parameter defines the outgoing codepage to the Micros System

Values:

- Set to "437" for DOS-based Micros clients (normally: 8700 & 9700)

- Set to "28591-28605" for Windows-based Micros clients (normally: 3700

NOTE: Values for 3700 are listed as a range here. IFC8 will only give one of them as an option to choose, based on the settings of the Interface-PC.

CharPlaceHolder_Def:

This parameter defines if e.g. 'Umlaute' should be replace or not. leave empty to use the settings of the operating system

  10. Extended Inquiries using "I/"

In order to activate this option, set M87POS_ExtendedInquiryOption="1". Unless you really need to have this feature, do NOT set this option.

IFC will request 10 more DefRef-attributes once this option is activated, which could have negative impact on the general performance.

Valid extended inquiry flags are "I/" and "I."

(These flags are always removed from the room number field from the following records: IFC_GST_INQ, FO_FI_RES_QUERY, FO_FI_RES_DETAIL, FO_FI_GST_DETAIL, IFC_CHG_PST. Functionality is ONLY possible with IFC_GST_INQ (same as in IFC7).)

Content is defined in DefRef25-DefRef34 for PostListItem

Note: "I/" inquiries are designed to show when an inquiry yields a unique match. They will not show if two or more guests are found based on the inquiry from Micros (i.e. they will not show for sharers when inquiry is done by roomnumber).

  11. Double Posting check

As of version 8.5.2.40 a second double-posting check has been added:

M87POS_UseDoublePstNoSeqNum

Logic:

The existing double-posting check was searching for identical records. This logic however did not catch situations where the PMS took too long to process the posting and the Micros-system would time out. The corresponding re-try of the waiter would result in a record with a different sequence-number.

The new double-posting searches for duplicated records but ignores the SequenceNumber when comparing the records.

M87POS_DoublePstNoSeqNumSize: This value defines the amount of records which IFC would keep on the memory while scanning for duplicates.

10 records is the default, however setting to larger values is possible.

NOTE: IFC needs some time to compare the records, so increasing the buffer-size may result in lower performance results.

  12. Locators

The Micros ISLs are triggering for inquiry responses where IFC signals the existence of a locator in order to activate the locator button.

On Suite8 this poses a problem as the additional query for the locator has negative impact on the global inquiry performance (due to the fact that the locator status would be checked on each and every inquiry, regardless if the Micros would process it in that very moment or not.

In order to overcome this problem the default IFC8 insert-scripts for IDRF will set the LocatorStatus hardcoded to "1" (i.e. Guest has a locator)

The waiter can now query the locator and may get "Locator not found" as result.

Optional you can change the setting of DefRef1 to return the true Locator status by defining DefRef1 as listed below:

BEFORE RUNNING THIS SCRIPT YOU NEED TO MANUALLY DELETE THE CURRENT DEFINITION FOR DefRef1 for the Micros interface.

(Through IFC8-Config)

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME, IDRF_CONDITION, IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_LOCATOR', 'MESSAGES||''|''||DECODE(LOC_XCMS_ID,NULL,0,1) PostListItem_DefRef1 WHERE V8_IFC_LOCATOR.LOC_XCMS_ID(+)=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

, 'PostListItem.DefRef1 with Locator');

COMMIT;

NOTE: Running this script will decrease the general performance of the Micros-Interface. So it should only be used if the client has agreed to that limitation.

  13. Voucher Redemption

With PMS version 8.9.2.x and IFC version = 8.7.5.2 the POS can be used to redeem vouchers. In order to do so, please ensure that during an update you have applied a new set of default values to IERR as the voucherhandling requires special info in ClearText if AnswerStat="OK"

The payment method for vouchers needs to be setup as any other Cash&Creditcard method, all other handling is activated automatically.


PMS Client

With newer MICROS POS systems a new application "PMS client" has been implemented, which handles the transfer of Cash and Creditcard postings.

This client however cannot provide a persistent TCP connection, but is off-line most of the day.

When installing two sessions of IFC8 you will have "IFC Offline" messages in the PMS for the bigger part of the ay, which causes support overhead.

The more simple solution is to setup a seconds IFC-object in IFC8 and configure as follows:

Important: Required needs to be set to "N" for the PMS-client.

and

The concept is to rout all responses from one specific workstation to the IFC2-object. All other records will go to IFC1.

The second advantage of this setup is that the DepartmentCode configuration does not need to be duplicated.


Ifc8Config.XML

Here is an example setup for the enhanced Micros Interface.

As of IFC version 8.2.x.x:

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum1="PMS1" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM Layer1="TCP/S" Port="5004" Param="LOCAL" CheckState="Y" />
<PROT CheckSum="M87CS" Layer2="M87TCP" RecMaxLength="64000" RecBuffTimeOut="2000" ReInit_On_ExpEnq="N" />
<PARSE Simulation="N" FktLogo="M87POS" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
 <M87POS
M87POS_ReservationQueryHeader="Room
  Name
                          Arrival/Departure
    Payment" M87POS_ResQueryLine1="Name
          :" M87POS_ResQueryLine2="Arrival
       :" M87POS_ResQueryLine3="Departure
     :" M87POS_ResQueryLine4="Payment
Method :" M87POS_ResQueryLine5="Remarks 1      :" M87POS_ResQueryLine6="Remarks
2      :" M87POS_ResQueryLine7="Adults
/ Kids  :" M87POS_ResQueryLine8="Group
         :" M87POS_ResQueryLine9="Ratecode
      :" M87POS_ResQueryLine10="Messages       :" M87POS_GuestQueryLine1="Name           :" M87POS_GuestQueryLine2="Address 1      :" M87POS_GuestQueryLine3="Address 2      :" M87POS_GuestQueryLine4="ZIP / City     :" M87POS_GuestQueryLine5="State          :" M87POS_GuestQueryLine6="Country        :" M87POS_GuestQueryLine7="Phone          :" M87POS_GuestQueryLine8="E-Mail         :" M87POS_GuestQueryLine9="Language       :" M87POS_GuestQueryLine10="VIP            :"
M87POS_BilldisplayOption ="1"
BillViewMultiply="1" M87POS_BilldisplayDateFormat ="dd.mm"  M87POS_BilldisplayDescLength ="18"
M87POS_BilldisplayAmountLength ="8"
M87POS_BilldisplaySummaryText ="Total"   M87POS_CreditLimitOverride ="N"
 DoublePostingSize ="10"
M87POS_RequestType ="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5504" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="2" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef IFC8="ICFG(0)IRMSV8V8LiveLive" />
</GENERAL>
</IFC8>

--------------------------------------------------------------------------------------------------------------------------------------

Until IFC version 8.1.x.x:

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="M87POS"

Layer1="TCP/S"

Port="5002"

Param="LOCAL"

CheckSum="M87CS"

Layer2="M87TCP"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

M87_ReservationQueryHeader="Room Name Details"

M87_ResQueryLine1="Name :"

M87_ResQueryLine2="Arrival :"

M87_ResQueryLine3="Departure :"

M87_ResQueryLine4="Payment Method :"

M87_ResQueryLine5="Remarks 1 :"

M87_ResQueryLine6="Remarks 2 :"

M87_ResQueryLine7="Adults / Kids :"

M87_ResQueryLine8="Group :"

M87_ResQueryLine9="Ratecode :"

M87_ResQueryLine10="Messages :"

M87_GuestQueryLine1="Name :"

M87_GuestQueryLine2="Address 1 :"

M87_GuestQueryLine3="Address 2 :"

M87_GuestQueryLine4="ZIP / City :"

M87_GuestQueryLine5="State :"

M87_GuestQueryLine6="Country :"

M87_GuestQueryLine7="Phone :"

M87_GuestQueryLine8="E-Mail :"

M87_GuestQueryLine9="Language :"

M87_GuestQueryLine10="VIP :"

WSNum1="PMS1"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="2"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

MsqTcpPort="5506"

MsqTcpDns="Y"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8"/>

</GENERAL>

</IFC8>


M87 IDRF Insert Script

NOTE: As of version 8.5.3.2 there is NO need any more to run any insert scripts. IFC8 will now insert the necessary records for IDRF and IERR automatically once the table is touched in the configuration.

All existing records for the Micros Interface should be deleted and the re-inserted using IFC8s internal routine.

The below script will not be updated any more and will be deleted from this Help-file at a later stage.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

As of IFC version 8.1.14.x handling of IDRF for Micros has changed:

The following script may be used to add the "default" values for M87 to IDRF.

Note: This insert script expects V8_IFC_PROFILESEARCH view added to your system. Please check and make sure, that you have the latest V8 views added to your system!

As well, please NOTE:

This script will ask you for the ICFG_ID of your micros interface. Running this script will delete all current entries for this interface and will replace them with the 'default' set.

DefRef25-34 (for I/ inquiries) are NOT taken into consideration in this insert script. Please add manually should you need these.

delete from idrf where idrf.IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.GuestFormattedname');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME GuestFormattedname'

WHERE IDRF_LONGDESC='PostListItem.GuestFormattedname' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef2');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME||'' ''||FIRSTNAME||'' ''||TITLE PostListItem_DefRef2'

WHERE IDRF_LONGDESC='PostListItem.DefRef2' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef3');

UPDATE IDRF SET IDRF_CONDITION = 'ARRIVALDATE||'' / ''||DEPARTUREDATE PostListItem_DefRef3'

WHERE IDRF_LONGDESC='PostListItem.DefRef3' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef4');

UPDATE IDRF SET IDRF_CONDITION = 'PAYMETHOD PostListItem_DefRef4'

WHERE IDRF_LONGDESC='PostListItem.DefRef4' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef5');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME||'' ''||FIRSTNAME||'' ''||TITLE PostListItem_DefRef5'

WHERE IDRF_LONGDESC='PostListItem.DefRef5' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef6');

UPDATE IDRF SET IDRF_CONDITION = 'ARRIVALDATE PostListItem_DefRef6'

WHERE IDRF_LONGDESC='PostListItem.DefRef6' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef7');

UPDATE IDRF SET IDRF_CONDITION = 'DEPARTUREDATE PostListItem_DefRef7'

WHERE IDRF_LONGDESC='PostListItem.DefRef7' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef8');

UPDATE IDRF SET IDRF_CONDITION = 'PAYMETHOD PostListItem_DefRef8'

WHERE IDRF_LONGDESC='PostListItem.DefRef8' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef9');

UPDATE IDRF SET IDRF_CONDITION = 'REMARK1 PostListItem_DefRef9'

WHERE IDRF_LONGDESC='PostListItem.DefRef9' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef10');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME||'' ''||FIRSTNAME||'' ''||TITLE PostListItem_DefRef10'

WHERE IDRF_LONGDESC='PostListItem.DefRef10' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef15');

UPDATE IDRF SET IDRF_CONDITION = 'REMARK2 PostListItem_DefRef15'

WHERE IDRF_LONGDESC='PostListItem.DefRef15' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef16');

UPDATE IDRF SET IDRF_CONDITION = 'ADULTS||'' / ''||KIDS PostListItem_DefRef16'

WHERE IDRF_LONGDESC='PostListItem.DefRef16' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef17');

UPDATE IDRF SET IDRF_CONDITION = 'GROUPNAME PostListItem_DefRef17'

WHERE IDRF_LONGDESC='PostListItem.DefRef17' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef18');

UPDATE IDRF SET IDRF_CONDITION = 'RATECODE PostListItem_DefRef18'

WHERE IDRF_LONGDESC='PostListItem.DefRef18' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef19');

UPDATE IDRF SET IDRF_CONDITION = 'MESSAGES PostListItem_DefRef19'

WHERE IDRF_LONGDESC='PostListItem.DefRef19' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef23');

UPDATE IDRF SET IDRF_CONDITION = 'LANGUAGE PostListItem_DefRef23'

WHERE IDRF_LONGDESC='PostListItem.DefRef23' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef24');

UPDATE IDRF SET IDRF_CONDITION = 'VIP PostListItem_DefRef24'

WHERE IDRF_LONGDESC='PostListItem.DefRef24' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'PostListItem.DefRef11');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ADDRESS1 PostListItem_DefRef11 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef11' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'PostListItem.DefRef12');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ADDRESS2 PostListItem_DefRef12 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef12' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'PostListItem.DefRef13');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ZIP||'' / ''||GUEST_CITY PostListItem_DefRef13 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef13' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'PostListItem.DefRef14');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_STATE PostListItem_DefRef14 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef14' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'PostListItem.DefRef20');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_COUNTRY PostListItem_DefRef20 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef20' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'PostListItem.DefRef21');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_PHONE PostListItem_DefRef21 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef21' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'PostListItem.DefRef22');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_EMAIL PostListItem_DefRef22 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef22' and IDRF_ICFG_ID = &ICFG_ID;

commit;

*************************************************************************************************

Old version, valid up to IFC version 8.1.13.x:

The following script may be used to add the "default" values for M87 to IDRF.

Please verify the unique IDs and the ICFG_ID carefully before running this script.

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

201, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef1');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME PostListItem_DefRef1'

WHERE IDRF_ID=201;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

202, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef2');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME||'' ''||FIRSTNAME||'' ''||TITLE PostListItem_DefRef2'

WHERE IDRF_ID=202;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

203, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef3');

UPDATE IDRF SET IDRF_CONDITION = 'ARRIVALDATE||'' - ''||DEPARTUREDATE PostListItem_DefRef3'

WHERE IDRF_ID=203;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

204, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef4');

UPDATE IDRF SET IDRF_CONDITION = 'PAYMETHOD PostListItem_DefRef4'

WHERE IDRF_ID=204;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

205, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef5');

UPDATE IDRF SET IDRF_CONDITION = 'TITLE||'' ''||LASTNAME||'', ''||FIRSTNAME PostListItem_DefRef5'

WHERE IDRF_ID=205;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

206, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef6');

UPDATE IDRF SET IDRF_CONDITION = 'PAYMETHOD PostListItem_DefRef6'

WHERE IDRF_ID=206;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

207, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef7');

UPDATE IDRF SET IDRF_CONDITION = 'ARRIVALDATE PostListItem_DefRef7'

WHERE IDRF_ID=207;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

208, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef8');

UPDATE IDRF SET IDRF_CONDITION = 'DEPARTUREDATE PostListItem_DefRef8'

WHERE IDRF_ID=208;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

209, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef9');

UPDATE IDRF SET IDRF_CONDITION = 'REMARK1 PostListItem_DefRef9'

WHERE IDRF_ID=209;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

210, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef10');

UPDATE IDRF SET IDRF_CONDITION = 'TITLE||'' ''||LASTNAME||'', ''||FIRSTNAME PostListItem_DefRef10'

WHERE IDRF_ID=210;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

211, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef11');

UPDATE IDRF SET IDRF_CONDITION = 'PAYMETHOD PostListItem_DefRef11'

WHERE IDRF_ID=211;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

212, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef12');

UPDATE IDRF SET IDRF_CONDITION = 'ARRIVALDATE PostListItem_DefRef12'

WHERE IDRF_ID=212;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

213, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef13');

UPDATE IDRF SET IDRF_CONDITION = 'DEPARTUREDATE PostListItem_DefRef13'

WHERE IDRF_ID=213;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

214, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef14');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME PostListItem_DefRef14'

WHERE IDRF_ID=214;

COMMIT;

*************************************************************************************************

Old version, valid up to IFC version 8.1.6.x:

The following script may be used to add the "default" values for M87 to IDRF.

Please verify the unique IDs and the ICFG_ID carefully before running this script.

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_ACT_TYPE, IDRF_DEFREF_NUM, IDRF_VIEW_NAME,

IDRF_FIELD_NAME ) VALUES (

20, 2, 'PostListItem', 13, 'V8_IFC_RESERVATIONSEARCH', 'DEPARTUREDATE');

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_ACT_TYPE, IDRF_DEFREF_NUM, IDRF_VIEW_NAME,

IDRF_FIELD_NAME ) VALUES (

21, 2, 'PostListItem', 1, 'V8_IFC_RESERVATIONSEARCH', 'LASTNAME');

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_ACT_TYPE, IDRF_DEFREF_NUM, IDRF_VIEW_NAME,

IDRF_FIELD_NAME ) VALUES (

22, 2, 'PostListItem', 2, 'V8_IFC_RESERVATIONSEARCH', 'LASTNAME" "FIRSTNAME" "TITLE');

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_ACT_TYPE, IDRF_DEFREF_NUM, IDRF_VIEW_NAME,

IDRF_FIELD_NAME ) VALUES (

23, 2, 'PostListItem', 3, 'V8_IFC_RESERVATIONSEARCH', 'ARRIVALDATE" - "DEPARTUREDATE');

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_ACT_TYPE, IDRF_DEFREF_NUM, IDRF_VIEW_NAME,

IDRF_FIELD_NAME ) VALUES (

24, 2, 'PostListItem', 4, 'V8_IFC_RESERVATIONSEARCH', 'PAYMETHOD');

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_ACT_TYPE, IDRF_DEFREF_NUM, IDRF_VIEW_NAME,

IDRF_FIELD_NAME ) VALUES (

25, 2, 'PostListItem', 5, 'V8_IFC_RESERVATIONSEARCH', 'TITLE" "LASTNAME", "FIRSTNAME');

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_ACT_TYPE, IDRF_DEFREF_NUM, IDRF_VIEW_NAME,

IDRF_FIELD_NAME ) VALUES (

26, 2, 'PostListItem', 6, 'V8_IFC_RESERVATIONSEARCH', 'PAYMETHOD');

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_ACT_TYPE, IDRF_DEFREF_NUM, IDRF_VIEW_NAME,

IDRF_FIELD_NAME ) VALUES (

27, 2, 'PostListItem', 7, 'V8_IFC_RESERVATIONSEARCH', 'ARRIVALDATE');

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_ACT_TYPE, IDRF_DEFREF_NUM, IDRF_VIEW_NAME,

IDRF_FIELD_NAME ) VALUES (

28, 2, 'PostListItem', 8, 'V8_IFC_RESERVATIONSEARCH', 'DEPARTUREDATE');

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_ACT_TYPE, IDRF_DEFREF_NUM, IDRF_VIEW_NAME,

IDRF_FIELD_NAME ) VALUES (

29, 2, 'PostListItem', 9, 'V8_IFC_RESERVATIONSEARCH', 'REMARK1');

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_ACT_TYPE, IDRF_DEFREF_NUM, IDRF_VIEW_NAME,

IDRF_FIELD_NAME ) VALUES (

30, 2, 'PostListItem', 14, 'V8_IFC_RESERVATIONSEARCH', 'LASTNAME');

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_ACT_TYPE, IDRF_DEFREF_NUM, IDRF_VIEW_NAME,

IDRF_FIELD_NAME ) VALUES (

31, 2, 'PostListItem', 10, 'V8_IFC_RESERVATIONSEARCH', 'TITLE" "LASTNAME", "FIRSTNAME');

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_ACT_TYPE, IDRF_DEFREF_NUM, IDRF_VIEW_NAME,

IDRF_FIELD_NAME ) VALUES (

32, 2, 'PostListItem', 11, 'V8_IFC_RESERVATIONSEARCH', 'PAYMETHOD');

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_ACT_TYPE, IDRF_DEFREF_NUM, IDRF_VIEW_NAME,

IDRF_FIELD_NAME ) VALUES (

33, 2, 'PostListItem', 12, 'V8_IFC_RESERVATIONSEARCH', 'ARRIVALDATE');

commit;


M87 IDRF insert script including 'I/' definitions

NOTE: As of version 8.5.3.2 there is NO need any more to run any insert scripts. IFC8 will now insert the necessary records for IDRF and IERR automatically once the table is touched in the configuration.

All existing records for the Micros Interface should be deleted and the re-inserted using IFC8s internal routine.

The below script will not be updated any more and will be deleted from this Help-file at a later stage.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

The following is a dummy insert script for testing. This is NOT a default and does not have any relevance for any installation.

delete from idrf where idrf.IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.GuestFormattedname');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME GuestFormattedname'

WHERE IDRF_LONGDESC='PostListItem.GuestFormattedname' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef2');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME||'' ''||FIRSTNAME||'' ''||TITLE PostListItem_DefRef2'

WHERE IDRF_LONGDESC='PostListItem.DefRef2' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef3');

UPDATE IDRF SET IDRF_CONDITION = 'ARRIVALDATE||'' / ''||DEPARTUREDATE PostListItem_DefRef3'

WHERE IDRF_LONGDESC='PostListItem.DefRef3' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef4');

UPDATE IDRF SET IDRF_CONDITION = 'PAYMETHOD PostListItem_DefRef4'

WHERE IDRF_LONGDESC='PostListItem.DefRef4' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef5');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME||'' ''||FIRSTNAME||'' ''||TITLE PostListItem_DefRef5'

WHERE IDRF_LONGDESC='PostListItem.DefRef5' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef6');

UPDATE IDRF SET IDRF_CONDITION = 'ARRIVALDATE PostListItem_DefRef6'

WHERE IDRF_LONGDESC='PostListItem.DefRef6' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef7');

UPDATE IDRF SET IDRF_CONDITION = 'DEPARTUREDATE PostListItem_DefRef7'

WHERE IDRF_LONGDESC='PostListItem.DefRef7' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef8');

UPDATE IDRF SET IDRF_CONDITION = 'PAYMETHOD PostListItem_DefRef8'

WHERE IDRF_LONGDESC='PostListItem.DefRef8' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef9');

UPDATE IDRF SET IDRF_CONDITION = 'REMARK1 PostListItem_DefRef9'

WHERE IDRF_LONGDESC='PostListItem.DefRef9' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef10');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME||'' ''||FIRSTNAME||'' ''||TITLE PostListItem_DefRef10'

WHERE IDRF_LONGDESC='PostListItem.DefRef10' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef15');

UPDATE IDRF SET IDRF_CONDITION = 'REMARK2 PostListItem_DefRef15'

WHERE IDRF_LONGDESC='PostListItem.DefRef15' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef16');

UPDATE IDRF SET IDRF_CONDITION = 'ADULTS||'' / ''||KIDS PostListItem_DefRef16'

WHERE IDRF_LONGDESC='PostListItem.DefRef16' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef17');

UPDATE IDRF SET IDRF_CONDITION = 'GROUPNAME PostListItem_DefRef17'

WHERE IDRF_LONGDESC='PostListItem.DefRef17' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef18');

UPDATE IDRF SET IDRF_CONDITION = 'RATECODE PostListItem_DefRef18'

WHERE IDRF_LONGDESC='PostListItem.DefRef18' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef19');

UPDATE IDRF SET IDRF_CONDITION = 'MESSAGES PostListItem_DefRef19'

WHERE IDRF_LONGDESC='PostListItem.DefRef19' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef23');

UPDATE IDRF SET IDRF_CONDITION = 'LANGUAGE PostListItem_DefRef23'

WHERE IDRF_LONGDESC='PostListItem.DefRef23' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef24');

UPDATE IDRF SET IDRF_CONDITION = 'VIP PostListItem_DefRef24'

WHERE IDRF_LONGDESC='PostListItem.DefRef24' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'PostListItem.DefRef11');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ADDRESS1 PostListItem_DefRef11 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef11' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'PostListItem.DefRef12');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ADDRESS2 PostListItem_DefRef12 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef12' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'PostListItem.DefRef13');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ZIP||'' / ''||GUEST_CITY PostListItem_DefRef13 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef13' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'PostListItem.DefRef14');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_STATE PostListItem_DefRef14 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef14' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'PostListItem.DefRef20');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_COUNTRY PostListItem_DefRef20 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef20' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'PostListItem.DefRef21');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_PHONE PostListItem_DefRef21 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef21' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'PostListItem.DefRef22');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_EMAIL PostListItem_DefRef22 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef22' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef25');

UPDATE IDRF SET IDRF_CONDITION = 'ROOMNUMBER||''/''||LASTNAME||'', ''||FIRSTNAME PostListItem_DefRef25'

WHERE IDRF_LONGDESC='PostListItem.DefRef25' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef26');

UPDATE IDRF SET IDRF_CONDITION = '''EV Level :''||VIP PostListItem_DefRef26'

WHERE IDRF_LONGDESC='PostListItem.DefRef26' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef27');

UPDATE IDRF SET IDRF_CONDITION = '''Group :''||GROUPNAME PostListItem_DefRef27'

WHERE IDRF_LONGDESC='PostListItem.DefRef27' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef28');

UPDATE IDRF SET IDRF_CONDITION = '''Arrival :''||ARRIVALDATE PostListItem_DefRef28'

WHERE IDRF_LONGDESC='PostListItem.DefRef28' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef29');

UPDATE IDRF SET IDRF_CONDITION = '''Departure :''||DEPARTUREDATE PostListItem_DefRef29'

WHERE IDRF_LONGDESC='PostListItem.DefRef29' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef30');

UPDATE IDRF SET IDRF_CONDITION = '''Ratecode :''||RATECODE PostListItem_DefRef30'

WHERE IDRF_LONGDESC='PostListItem.DefRef30' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef31');

UPDATE IDRF SET IDRF_CONDITION = '''Creditlimit :''||CREDITLIMIT PostListItem_DefRef31'

WHERE IDRF_LONGDESC='PostListItem.DefRef31' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef32');

UPDATE IDRF SET IDRF_CONDITION = '''No-Post-Flag :''||decode(NOPOSTFLAG,0,''N'',''Y'') PostListItem_DefRef32'

WHERE IDRF_LONGDESC='PostListItem.DefRef32' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef33');

UPDATE IDRF SET IDRF_CONDITION = '''Company :''||COMPANY PostListItem_DefRef33'

WHERE IDRF_LONGDESC='PostListItem.DefRef33' and IDRF_ICFG_ID = &ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef34');

UPDATE IDRF SET IDRF_CONDITION = '''Messages :''||MESSAGES PostListItem_DefRef34'

WHERE IDRF_LONGDESC='PostListItem.DefRef34' and IDRF_ICFG_ID = &ICFG_ID;

commit;


M87 sample IERR insert script

NOTE: As of version 8.5.3.2 there is NO need any more to run any insert scripts. IFC8 will now insert the necessary records for IDRF and IERR automatically once the table is touched in the configuration.

All existing records for the Micros Interface should be deleted and the re-inserted using IFC8s internal routine.

The below script will not be updated any more and will be deleted from this Help-file at a later stage.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

The below script will handle following cases:

  • when a RoomNumber is entered, but the Room is not valid or vacant, the Text (incl. the entered RoomNumber) "... Vacant / Inv" is returned to Micros

  • when a Name is entered but not found in V8, the Text (incl. the entered Name) "... not found" is returned to Micros

  • when a Key is swiped, but no matching Guest is found in V8, the text "Card unknown" is returned to Micros

  • when the No Post checking is activated, the Text "Posting refused" is returned when the flag is set in the Reservation

This script can be used as a good base for your personalized error setting and for your respective translations.

NOTE: Please remember that the Micros displays maximum 16 characters of the error so don't enhance the actual text too much.

ENGLISH:

delete from ierr where ierr.IERR_ICFG_ID=&ICFG_ID;

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,

IERR_LONGDESC ) VALUES (

seq_ierr.nextval, &ICFG_ID, 'PostAnswer', NULL, 'NG', '"Guest not found"', 'PA/NG/ReqType=NULL(default)');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,

IERR_LONGDESC ) VALUES (

seq_ierr.nextval, &ICFG_ID, 'PostAnswer', &ICFG_ID, 'NG', '"Card unknown"', 'PA/NG/ReqType=Track2');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,

IERR_LONGDESC ) VALUES (

seq_ierr.nextval, &ICFG_ID, 'PostAnswer', 4, 'NG', '""PostInformation" Vacant / Inv"', 'PA/NG/ReqType=RoomNum');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,

IERR_LONGDESC ) VALUES (

seq_ierr.nextval, &ICFG_ID, 'PostAnswer', 8, 'NG', '""PostInformation" not found"', 'PA/NG/ReqType=GuestName');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,

IERR_LONGDESC ) VALUES (

seq_ierr.nextval, &ICFG_ID, 'PostAnswer', NULL, 'FX', '"Posting refused"', 'PA/FX/ReqType=NULL(default)');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,

IERR_LONGDESC ) VALUES (

seq_ierr.nextval, &ICFG_ID, 'PostAnswer', NULL, 'CO', '"No Credit"', 'PA/CO/ReqType=NULL(default)');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,

IERR_LONGDESC ) VALUES (

seq_ierr.nextval, &ICFG_ID, 'PostAnswer', NULL, 'NP', '"No Credit"', 'PA/NP/ReqType=NULL(default)');

COMMIT;

GERMAN:

delete from ierr where ierr.IERR_ICFG_ID=&ICFG_ID;

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,

IERR_LONGDESC ) VALUES (

seq_ierr.nextval, &ICFG_ID, 'PostAnswer', NULL, 'NG', '"Nicht gefunden"', 'PA/NG/ReqType=NULL(default)');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,

IERR_LONGDESC ) VALUES (

seq_ierr.nextval, &ICFG_ID, 'PostAnswer', &ICFG_ID, 'NG', '"Karte unbekannt"', 'PA/NG/ReqType=Track2');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,

IERR_LONGDESC ) VALUES (

seq_ierr.nextval, &ICFG_ID, 'PostAnswer', 4, 'NG', '"Nicht gefunden"', 'PA/NG/ReqType=RoomNum');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,

IERR_LONGDESC ) VALUES (

seq_ierr.nextval, &ICFG_ID, 'PostAnswer', 8, 'NG', '"Nicht gefunden"', 'PA/NG/ReqType=GuestName');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,

IERR_LONGDESC ) VALUES (

seq_ierr.nextval, &ICFG_ID, 'PostAnswer', NULL, 'FX', '"Nicht erlaubt"', 'PA/FX/ReqType=NULL(default)');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,

IERR_LONGDESC ) VALUES (

seq_ierr.nextval, &ICFG_ID, 'PostAnswer', NULL, 'CO', '"Kein Kredit"', 'PA/CO/ReqType=NULL(default)');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,

IERR_LONGDESC ) VALUES (

seq_ierr.nextval, &ICFG_ID, 'PostAnswer', NULL, 'NP', '"Kein Kredit"', 'PA/NP/ReqType=NULL(default)');

COMMIT;


Ifc8Config.Xml for German installations

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum1="PMS1" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM Layer1="TCP/S" Port="5004" Param="LOCAL" CheckState="Y" />
<PROT CheckSum="M87CS" Layer2="M87TCP" RecMaxLength="64000" RecBuffTimeOut="2000" ReInit_On_ExpEnq="N" />
<PARSE Simulation="N" FktLogo="M87POS" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
 <M87POS
M87POS_ReservationQueryHeader ="Zimmer Name                           Ankunft/Abreise
      Zahlung"  M87POS_ResQueryLine1="Name           :" M87POS_ResQueryLine2="Anreise
       :" M87POS_ResQueryLine3="Abreise
       :" M87POS_ResQueryLine4="Zahlungsart
   :" M87POS_ResQueryLine5="Notiz
1        :" M87POS_ResQueryLine6="Notiz
2        :" M87POS_ResQueryLine7="Erw
/ Kinder   :" M87POS_ResQueryLine8="Gruppe
        :" M87POS_ResQueryLine9="Preiscode
     :" M87POS_ResQueryLine10="Nachrichten    :" M87POS_GuestQueryLine1="Name           :" M87POS_GuestQueryLine2="Addresse 1     :" M87POS_GuestQueryLine3="Addresse 2     :" M87POS_GuestQueryLine4="ZIP / Stadt    :" M87POS_GuestQueryLine5="Staat          :" M87POS_GuestQueryLine6="Land           :" M87POS_GuestQueryLine7="Telephon       :" M87POS_GuestQueryLine8="E-Mail         :" M87POS_GuestQueryLine9="Sprache        :" M87POS_GuestQueryLine10="VIP            :"  M87POS_CreditLimitOverride ="N"
DoublePostingSize ="10"
M87POS_RequestType ="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5504" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="2" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef IFC8="ICFG(0)IRMSV8V8LiveLive" />
</GENERAL>
</IFC8>


OPERA scripts

Script for a sample IFC_FRM-Setup:

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D1', 'NAME_RESERVATION', 'decode(MESSAGE_YN,"N","", "1")+"|"+decode(LOCATOR_YN,"N","0","1")' , '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D10', 'NAME_RESERVATION', 'GUEST_NAME+" "+GUEST_FIRST_NAME+" "TITLE+"."', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D11', 'NAME_RESERVATION', 'ADDRESS1', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D12', 'NAME_RESERVATION', 'ADDRESS2', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D13', 'NAME_RESERVATION', 'ZIP_CODE+" "+CITY', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D14', 'NAME_RESERVATION', 'STATE', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D16', 'NAME_RESERVATION', 'ADULTS+" "+CHILDREN', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D17', 'NAME_RESERVATION', 'GROUP_NAME', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D18', 'NAME_RESERVATION', 'RATE_CODE', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D19', 'NAME_RESERVATION', 'MESSAGE_YN', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D2', 'NAME_RESERVATION', 'GUEST_NAME', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D20', 'NAME_RESERVATION', 'COUNTRY', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D21', 'NAME_RESERVATION', 'PHONE_NO', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D22', 'NAME_RESERVATION', 'EMAIL', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D23', 'NAME_RESERVATION', 'LANGUAGE', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D24', 'NAME_RESERVATION', 'VIP_STATUS', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D3', 'NAME_RESERVATION', 'ARRIVAL+" "+DEPARTURE', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D4', 'NAME_RESERVATION', 'PAYMENT_METHOD', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D5', 'NAME_RESERVATION', 'GUEST_NAME+" "+GUEST_FIRST_NAME+" "+TITLE+"."', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D6', 'NAME_RESERVATION', 'ARRIVAL', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D7', 'NAME_RESERVATION', 'DEPARTURE', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D8', 'NAME_RESERVATION', 'PAYMENT_METHOD', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'D9', 'NAME_RESERVATION', 'COMMENTS', '&DBF_LOGO');

INSERT INTO IFC_FRM ( RESORT, ID, EXP_TABLE, EXPRESSION, DBF_LOGO ) VALUES (

'&RESORT', 'NA', 'NAME_RESERVATION', 'GUEST_NAME', '&DBF_LOGO');

COMMIT;


Specific Interface Setup

This driver is designed to handle multi-property scenarios with Fidelio V6.

IFC8 is then installed between the Micros-System and IFC7. All records from and to IFC7 are passed through without any modification.

Only if IFC8 detects a cross-posting from IFC7 will it duplicate the same posting again, exchange the tender media as per IFC8's configuration and will send it again.

This was designed so that all Micros revenues are passed to the Masterhotel and all cross-postings from other Paths are sent to s specific PayMaster so that a Hotel has a clear auditing overview every day.


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum1="PMS1" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId">
<COMM CheckState="Y" Layer1="TCP" Port="5002" Param="LOCAL" />
<PROT ReInit_On_ExpEnq="N" Layer2="M87TCP" CheckSum="CKS_NONE" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="M87CONV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<M87CONV />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\M87POS_IFC1.RTF" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM CheckState="Y" Layer1="TCP" Port="5001" Param="LOCAL" />
<PROT ReInit_On_ExpEnq="N" Layer2="M87TCP" CheckSum="CKS_NONE" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="M87CONV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
 <M87CONV
M87CONV_GstChk ="Y"
M87CONV_Path ="N"
ConvertTMRoom_16 ="101"
ConvertTMRoom_22 ="102" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\SERV_PMS1.RTF" MonCharSet="255" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<SimAttrDef " />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 ConfAllowed="Y" Simulation="N" Log="Y" Required="Y" GetPathId="PathId" PathId1="PMS1" PathIdX="PMS1" RefNum="20" SetPathId1="1">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="2000000" MonTimeFormat="hh:nn:ss.00" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" MonCharSet="256" />
<PARSE FktLogo="XML_POS" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" GetParseConfig="GetParseConfig" LA_TimeOut="3000" ParseCharSet="-1" CharPlaceHolder_Def="|||">
<XML_POS DoublePostingSize="0" DataResyncOption="0" SingleThread="N" />
</PARSE>
<PROT Layer2="N" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="X">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<COMM CheckState="Y" Layer1="TCP/S" Port="6666" Param="LOCAL" />
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_FRIEDEMANN="(0) Use default Printer definition" />
</IFC1>
<PMS1 ConfAllowed="Y" Simulation="Y" Log="Y" MonDetail="3" MonType="CHR" LogLength="500000" Required="Y" FktLogo="SERV" IfcNum="1" MsqTcpPort="5500" MsqTcpDns="N" Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckSum="N" Layer2="N" RecMaxLength="64000" CheckState="Y" DatascopeType="CHR" RecBuffTimeOut="500" RefNum="20" WSNum1="IFC1" WSNumX="IFC1" XmlDecl="N">
<MON MonShowState="N" MonType="CHR" MonDetail="3" MonCharSet="0" LogLength="2000000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\SERV_PMS1.RTF" />
<PARSE FktLogo="SERV" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
<PROT Layer2="LLC_SIM" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" MaxStackCount="32">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS" CheckState="Y" Port="GlobalDbsConnect" Param="0">
<DBS DbsDebugMode="N" MsqTcpDns="N" MsqTcpPort="4434" />
</COMM>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_FRIEDEMANN="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N" PrgCaption="IFC8">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
<ErrorEMail S />
</GENERAL>
</IFC8>


Specific Setup

This system is placed between Simphony and IFC8 in Casino installations in AP. It has specific internal logic and cannot be used for any other implementation.


Specific Interface Setup

RoomPostings:

The record for Room-Postings does not contain a payment method. IFC8 will always use "ROOM" as PaymentMethod for Room-Postings if NC1_RoomPaymethod is not set. (As of 8.5.4.4)


Ifc8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1">
- <PARSE FktLogo="PCT"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
ParseCharSet="850"
CharPlaceHolder_Def="|GE_UML||">
- <PCT>
<POS_Splitting
PCT_SplitNumber_1="Subtotal19"
PCT_SplitNumber_Default="Subtotal20"
PCT_SplitNumber_10="Tax7"
PCT_SplitNumber_14="ServiceCharge7"
/>
</PCT>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="200000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
- <PROT Layer2="LLC_UNI"
CheckSum="CKS_NONE"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_UNI
LLC_IgnoreChecksum="Y"
LLC_TimeOutWaitingForACK="3000"
UNI_StartCharacter="123"
UNI_StartCharList=""
UNI_StopCharacter="125"
UNI_RecordLength="-1"
UNI_CheckSumPos="0"
UNI_ACKAnswerDelay="0"
UNI_EnablePolling="N"
UNI_PollingSequence=""
UNI_PollingTimeout="5000"
UNI_AnswerENQWithACK="N"
UNI_AnswerRecordWithACK="N"
UNI_UseACKDefinition="N"
UNI_ENQ_ACKDefinition="6"
UNI_Record_ACKDefinition="6"
UNI_SendStartCharList="123"
UNI_SendStopCharList="125"
UNI_Remove_STX_ETX="3"
/>
</PROT>
  <COMM
Layer1="TCP/C"
CheckState="Y"
Port="5004"
Param="LOCAL"
/>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5504"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="4" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength=1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</PMS1>
- <GENERAL ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

PC-Cash does not have a server-application, so you need to configure multiple IFC-objects (one per PC-Cash workstation).

The record do not contain a Workstation ID, so IFC8 will use the IFC-Object number instead.

Remember to configure routing by WsNum:

Features:

- Inquiry by RoomNumber

- Inquiry for Guest-In-House-List (done with RoomNumber="0" in the inquiry string)

- Roompostings

- Cash & Creditcard postings

Com-Layer:

The Com-Layer is set to "TCP/S" always. As an exception IFC8 will not check the TCP-state for PC-Cash. (= no re-init upon reconnect)


Communication Verification

Inquiry:

[05.07/16:20:31] -> {tele:2|start|}

[05.07/16:20:31] -> {tele:2|getroom:803}

[05.07/16:20:31] -> {tele:2|stop|}

[05.07/16:20:31] <= <PostInquiry xmlns="x-schema:PostInquirySchema_I" PostInformation="803" RequestType="4" PostNum="INQtele:2|"/>

[05.07/16:20:35] => <PostList PathId="1" PostNum="INQtele:2|" xmlns="x-schema:PostListSchema_O">

<PostListItem PathId="1" RoomNum="803"
 GuestNum="15687" GuestFirstname="Jaime" GuestName="Bale"
 GuestFormattedname="Bale" GuestDeparture="050903"
 NoPost="N"/>

<PostListItem PathId="1" RoomNum="803"
 GuestNum="15759" GuestFirstname="Mohammed" GuestName="Ali"
 GuestFormattedname="Ali" GuestDeparture="050903" NoPost="N"/>

</PostList>

Positive response to Inquiry:

[05.07/16:20:36] <- {tele:2|start|}

[05.07/16:20:36] <- {tele:2|roomno:803|roomstat:ok|accountno:15687|guestno:15687|lastname:Bale|firstname:Jaime|depart:20050903|info:Bale}

[05.07/16:20:36] <- {tele:2|roomno:803|roomstat:ok|accountno:15759|guestno:15759|lastname:Ali|firstname:Mohammed|depart:20050903|info:Ali}

[05.07/16:20:36] <- {tele:2|stop|}

Roomposting:

[05.07/16:20:44] -> {tele:3|start|}

[05.07/16:20:44] -> {tele:3|roomno:803|booking:48|accountno:15759|guestno:15759|branchno:123|districtno:1|cashno:1|waiterno:1|waitername:Chef|[maincategoryno:1||maincategory_desc:Lebenmittel|amount:1,000|priceperunit:3,50|pricetotal:3,50|taxno:2|vatpercent:20,00]}

[05.07/16:20:44] -> {tele:3|stop|}

[05.07/16:20:44] <= <PostSimple xmlns="x-schema:PostSimpleSchema_I"
 RoomNum="803" GuestNum="15759" TotalAmount="350"
 PostType="C" Subtotal1="350" PostRoute="1"
 SalesOutlet="123" CheckNum="48" UserID="1"
 PostNum="PSTtele:3|booking:48|" Date="070507" Time="162044"/>

Cashposting:

[06.01/14:47:37] -> {tele:1|start|}

[06.01/14:47:37] -> {tele:1|finwayno:1|roomno:|booking:76|accountno:|guestno:|branchno:123|districtno:1|cashno:1|waiterno:1|waitername:Frau Eitljörg|[maincategoryno:1||maincategory_desc:Speisen|amount:3,000|priceperunit:25,62|pricetotal:25,62|taxno:2|vatpercent:0,00]}

[06.01/14:47:37] -> {tele:1|stop|}

[06.01/14:47:37] <= <PostSimple xmlns="x-schema:PostSimpleSchema_I"
 PaymentMethod="1" TotalAmount="2562" PostType="C"
 Subtotal1="2562" PostRoute="1" SalesOutlet="123"
 CheckNum="76" WSNum="1" UserID="1" PostNum="PSTtele:1|booking:76|"
 Date="070601" Time="144737"/>

[06.01/14:47:37] => <PostAnswer xmlns="x-schema:PostAnswerSchema_O"
 PathId="1" WSNum="1" PostNum="PSTtele:1|booking:76|"
 AnswerStat="OK" ClearText="Posting successful. Interface
 transaction number/s - 23605"/>

[06.01/14:47:37] <- {tele:1|booking:76|ok}

Positive response to Chargeposting:

[05.07/16:20:46] => <PostAnswer xmlns="x-schema:PostAnswerSchema_O"
 PathId="1" PostNum="PSTtele:3|booking:48|" RoomNum="803"
 AnswerStat="OK" ClearText="Posting successful. Interface
 transaction number/s - 22622"/>

[05.07/16:20:46] <- {tele:3|booking:48|ok}

Negative responses are sent with identifier "notok".


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="Y"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="FIAS_POL"

Layer1="TCP/S"

Port="5009"

Param="LOCAL"

CheckSum="N"

Layer2="N"

DefaultRecMaxLength="64000"

CheckState="Y"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="PMS1"

WSNumX="PMS1"

XmlDecl="N"

InLineSchema="N">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

MsqTcpPort="5601"

MsqTcpDns="Y"

FktLogo="SERV"

IfcNum="1"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="v8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Script for Polypoint View

Specific Interface Setup

Polypoint is based on FIAS. As there is an enormous amount of data to be sent some of the A-Fields contain more then one value.

Default separator within the A-fields is the % .

Note:

Polypoint establishes a connection only upon request, will then read all C/I and C/O data and will then disconnect again.

A SECOND IFC8 needs to be started for the charge port !!

A sample IDRF_CONDITION entry for Polypoint:

GENDER||'%' GuestIn_DefRef1,

ADDRESSE1||'%'||ADDRESSE2 GuestIn_DefRef2,

PLZ||'%'||CITY GuestIn_DefRef3,

KANTON||'%'||COUNTRY GuestIn_DefRef4,

'CH%'||TO_CHAR(BIRTHDATE, 'YYMMDD') GuestIn_DefRef5,

TELEFON||'%' GuestIn_DefRef6,

TELEFAX||'%'||EMAIL||'%'||BERUF GuestIn_DefRef7,

FALLIDENTIFIKATION||'%'||KLASSE GuestIn_DefRef8,

EINTRITSGRUND||'%'||GARANT1 GuestIn_DefRef9,

VERSICHERUNGSNUMMER1||'%'||VERSICHERUNGSNUMMER2 GuestIn_DefRef10

WHERE

V8_IFC_POLYPOINT.XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER AND V8_IFC_POLYPOINT.YRES_ID=V8_IFC_RESERVATIONSEARCH.RESERVATIONNUMBER


Script for Polypoint View

create or replace view V8_IFC_POLYPOINT as

SELECT

0 DEST_TYPE,

YRES.YRES_ID YRES_ID,

xcms.XCMS_ID XCMS_ID,

decode(nvl(xcid.xcid_sex,0),0,' ',1,'1',2,'2',3,' ') GENDER,

xadr.XADR_STREET1 ADDRESSE1,

xadr.XADR_STREET2 ADDRESSE2,

xadr.XADR_ZIP PLZ,

xadr.XADR_CITY CITY,

xsta.XSTA_LONGDESC KANTON,

xcou.XCOU_LONGDESC COUNTRY,

wlan.WLAN_SHORTDESC LANGUAGE,

xcid.XCID_BIRTHTIME BIRTHDATE,

(select xcom_value from xcom, xcmt where xcmt.XCMT_ID = xcom.XCOM_XCMT_ID and xcom.XCOM_PRIMARY(+)=1 and xcmt.XCMT_TYPE(+)=4 and xcom.XCOM_XCMS_ID=xcms.xcms_id ) TELEFON,

(select xcom_value from xcom, xcmt where xcmt.XCMT_ID = xcom.XCOM_XCMT_ID and xcom.XCOM_PRIMARY(+)=1 and xcmt.XCMT_TYPE(+)=3 and xcom.XCOM_XCMS_ID=xcms.xcms_id ) TELEFAX,

(select xcom_value from xcom, xcmt where xcmt.XCMT_ID = xcom.XCOM_XCMT_ID and xcom.XCOM_PRIMARY(+)=1 and xcmt.XCMT_TYPE(+)=1 and xcom.XCOM_XCMS_ID=xcms.xcms_id ) EMAIL,

xcid.XCID_POSITION BERUF,

yres.yres_id FALLIDENTIFIKATION,

XPDAKLASSE.XPDA_SHORTDESC KLASSE,

XPDAEINTRITTSART.XPDA_SHORTDESC EINTRITSGRUND,

xpdc.xpdc_issuedby GARANT1 ,

'' GARANT2 ,

xpdc.xpdc_value VERSICHERUNGSNUMMER1 ,

'' VERSICHERUNGSNUMMER2

FROM

yres,

xcms,

xcid,

wlan,

xadr,

xcou,

xsta,

yrlr YrlrKLASSE,

xpda XpdaKLASSE,

yrlr YrlrEINTRITTSART,

xpda XpdaEINTRITTSART,

xpdc,

xpdg

WHERE

xadr.XADR_XCMS_ID(+)=xcms.xcms_id and

xadr.XADR_PRIMARY(+)=1 and

xcou.xcou_id(+)=xadr.XADR_XCOU_ID and

xsta.XSTA_ID(+)=xadr.XADR_XSTA_ID and

yres.YRES_XCMS_ID=xcms.XCMS_ID and

xcms.XCMS_ID=xcid.XCID_ID(+) and

xcms.XCMS_WLAN_ID=wlan.WLAN_ID(+) and

(yres.YRES_ACTDEPTIME is Null or trunc(yres.YRES_ACTDEPTIME)=(select * from fideliodate)) and

YrlrKLASSE.YRLR_XPAC_ID(+)=1016 and

YrlrKLASSE.YRLR_YRES_ID(+)=yres.yres_id and

XpdaKLASSE.XPDA_ID(+)=YrlrKLASSE.YRLR_XPDA_ID and

YrlrEINTRITTSART.YRLR_XPAC_ID(+)=1014 and

YrlrEINTRITTSART.YRLR_YRES_ID(+)=yres.yres_id and

XpdaEINTRITTSART.XPDA_ID(+)=YrlrEINTRITTSART.YRLR_XPDA_ID and

xpdc.xpdc_xpdg_id = xpdg.xpdg_id(+)

and xpdc.xpdc_xcms_id(+) = xcms.xcms_id and

yres.yres_actarrtime is not null

union

select

1 DEST_TYPE,

zfac.zfac_ID YRES_ID,

xcms.XCMS_ID XCMS_ID,

decode(nvl(xcid.xcid_sex,0),0,' ',1,'1',2,'2',3,' ') GENDER,

xadr.XADR_STREET1 ADDRESSE1,

xadr.XADR_STREET2 ADDRESSE2,

xadr.XADR_ZIP PLZ,

xadr.XADR_CITY CITY,

xsta.XSTA_LONGDESC KANTON,

xcou.XCOU_LONGDESC COUNTRY,

wlan.WLAN_SHORTDESC LANGUAGE,

xcid.XCID_BIRTHTIME BIRTHDATE,

(select xcom_value from xcom, xcmt where xcmt.XCMT_ID = xcom.XCOM_XCMT_ID and xcom.XCOM_PRIMARY(+)=1 and xcmt.XCMT_TYPE(+)=4 and xcom.XCOM_XCMS_ID=xcms.xcms_id ) TELEFON,

(select xcom_value from xcom, xcmt where xcmt.XCMT_ID = xcom.XCOM_XCMT_ID and xcom.XCOM_PRIMARY(+)=1 and xcmt.XCMT_TYPE(+)=3 and xcom.XCOM_XCMS_ID=xcms.xcms_id ) TELEFAX,

(select xcom_value from xcom, xcmt where xcmt.XCMT_ID = xcom.XCOM_XCMT_ID and xcom.XCOM_PRIMARY(+)=1 and xcmt.XCMT_TYPE(+)=1 and xcom.XCOM_XCMS_ID=xcms.xcms_id ) EMAIL,

xcid.XCID_POSITION BERUF,

zfac.zfac_ID FALLIDENTIFIKATION,

'ALL' KLASSE,

'ANG' EINTRITSGRUND,

xpdc.xpdc_issuedby GARANT1 ,

'' GARANT2 ,

xpdc.xpdc_value VERSICHERUNGSNUMMER1 ,

'' VERSICHERUNGSNUMMER2

FROM

zfac,

zfan,

xcms,

xcid,

wlan,

xadr,

xsta,

xcou,

xpdc,

xpdg

WHERE

xadr.XADR_XCMS_ID(+)=xcms.xcms_id and

xadr.XADR_PRIMARY(+)=1 and

xcou.xcou_id(+)=xadr.XADR_XCOU_ID and

xsta.XSTA_ID(+)=xadr.XADR_XSTA_ID and

zfac.zfac_XCMS_ID=xcms.XCMS_ID and

zfan.ZFAN_ID=zfac.ZFAC_ZFAN_ID and

xcms.XCMS_ID=xcid.XCID_ID(+) and

xcms.XCMS_WLAN_ID=wlan.WLAN_ID(+)

and ((zfac_ACTvaliduntil is Null and zfac_ACTvalidfrom is not null) or

zfac_expvalidfrom is null) and

xpdc.xpdc_xpdg_id = xpdg.xpdg_id(+)

and xpdc.xpdc_xcms_id(+) = xcms.xcms_id;


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PARSE FktLogo="PIT"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="20127"
                    CharPlaceHolder_Def="|||">
  <PIT
PIT_RoomPaymethod="0"
PIT_CreditLimitOverride=""
PIT_RequestType="1"
PIT_SplitMismatchTotal="0"
PIT_SendNameUppercase="Y"
PIT_IgnoreGuestnameInPostRequest="Y"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="2000"
LLC_ACKTimeOut="2000"
LLC_ENQRetries="2"
LLC_SendRetries="1"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_SupportEmbeddedACK="N"
/>
</PROT>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1"
                    CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_BLK"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="Y"
BLK_SendStartCharacter="0"
BLK_SendStopCharacter="7"
BLK_ReceiveStartCharacter="5"
BLK_ReceiveStopCharacter="0"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="N"
/>
</PROT>
<PARSE FktLogo="RC1"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
  <RC1
RC1_UmlauteFlag=""
RC1_RequestType="1"
DoublePostingSize="0"
RC1_TableNumForVoidPostings="9999"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5502"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="N"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.XML

<IFC8>
<IFC1 Required="Y"
        GetPathId="PathId"
        PathIdX="PMS1"
        RefNum="20">
<PRN PrinterName="(0) No Printer" FormatOptions="(112) NewPage+CenterPage" PageSize="0" PrinterName_FRIEDEMANN="(0) Use standard Printer definition" />
  <MON
MonShowState="N"
MonType="CHR"
MonDetail="3"
LogLength="2000000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PARSE FktLogo="RC2"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                GetParseConfig="GetParseConfig"
                LA_TimeOut="3000"
                ParseCharSet="437"
                CharPlaceHolder_Def="|||">
  <RC2
RC2_Version="2"
RC2_UseNoPost="N"
RC2_UseCreditlimit="N"
RC2_CreditLimitOverride="N"
DoublePostingSize="0"
/>
</PARSE>
<PROT Layer2="LLC_RC2"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="X">
  <LLC_RC2
LLC_EOTENQTimeOut="8000"
LLC_AlternatingACK="Y"
LLC_ENQRetries="4"
/>
</PROT>
<COMM Layer1="COM"
                CheckState="Y"
                Port="1"
                Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
<PMS1 Required="Y"
        WSNumX="IFC1"
        RefNum="20">
<PRN PrinterName="(0) No Printer" FormatOptions="(112) NewPage+CenterPage" PageSize="0" PrinterName_FRIEDEMANN="(0) Use standard Printer definition" />
  <MON
MonShowState="N"
MonType="CHR"
MonDetail="3"
MonCharSet="256"
LogLength="2000000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PARSE FktLogo="SERV"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="3" />
</PARSE>
<PROT Layer2="LLC_SIM"
                CheckSum="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="X">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS"
                CheckState="Y"
                Port="GlobalDbsConnect"
                Param="0">
  <DBS
DbsDebugMode="N"
MsqTcpDns="N"
MsqTcpPort="5503"
/>
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y"
        PrgCaption="IFC8"
        ErrorEMail="N"
        ServiceInst="N">
  <GlobalDbsConnect0
DbsConfig="ICFG(0)"
User="v8live"
Alias="v8"
Pwd="live"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

Remanco versions 3.1 (and newer) send the charge data using record-type 32. (Record type 33 is not supported by any Fidelio Interface.)

This record supplies the following split data:

Remanco Parameter | XML-Translation | IDCO-Parameter
Tip Amount | TIP | X1
Split payment for category 1 (food) | Subtotal1 | S1
Split payment for category 2 (beer) | Subtotal2 | S2
Split payment for category 3 (liquer) | Subtotal3 | S3
Split payment for category 4 (wine) | Subtotal4 | S4
Split payment for category 5 (other) | Subtotal5 | S5
Split payment for tax free. | Subtotal6 | S6
Split payment for service charge | ServiceCharge1 | C1
Split payment for entertainment | ServiceCharge2 | C2

'Enhanced' produces the following schema to allow tax-exclusive handling:

<PostSimple xmlns="x-schema:PostSimpleSchema_I"

RoomNum="" GuestName="" PostInformation=""
 PostListItemNum="" PostNum="" TotalAmount=""
 PaymentMethod="" SalesOutlet="" ServingTime=""
 CheckNum="" RequestType=""

Tip=""

Subtotal1="" Subtotal2="" Subtotal3="" Subtotal4="" Subtotal5="" Subtotal6=""

ServiceCharge1="" ServiceCharge2=""

Tax1="" Tax2="" Tax3="" Tax4=""
 Tax5="" Tax6="" Tax7="" Tax8=""
 Tax9="" Tax10=""

Tax11="" Tax12="" Tax13="" Tax14=""
 Tax15="" Tax16="" Tax17="" Tax18=""
 Tax19="" Tax20=""

Covers="" TableNum="" PostType="" WSNum="" Date="" Time=""/>

Timezones:

Multiple Timezones can be added (just clone the existing parameter and rename it with the necessary ServingTime value)

Timezone1 automatically starts at 00:00, any further Timezone starts a minute after the prior Timezone ends.


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum2="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_BSC"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_BSC
LLC_MasterSlave="S"
LLC_AlternatingACK="Y"
LLC_ENQTimeOut="3000"
LLC_ACKTimeOut="5000"
LLC_DataTimeOut="3000"
LLC_ENQRetries="5"
BSC_SyncCharacterList=""
/>
</PROT>
<PARSE FktLogo="RIS"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
  <RIS
RIS_UseNoPost="Y"
RIS_UseCreditlimit="Y"
RIS_UseGuestSelector="Y"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="128000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_ARAGON="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5502"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="128000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_ARAGON="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef DefRef0="RIS" />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum1="PMS1"
        WSNum2="PMS1"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1">
<COMM Layer1="COM"
                CheckState="N"
                Port="1"
                Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_BMP"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="5"
LLC_SendRetries="5"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<PARSE FktLogo="RSM"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                GetParseConfig="GetParseConfig"
                LA_TimeOut="3000"
                ParseCharSet="850"
                CharPlaceHolder_Def="|||">
  <RSM
RSM_DbSwapAtStartup="Y"
DoublePostingSize="0"
RSM_CheckSeqNum="0"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(1) An OneNote 2007 senden" PaperTray="(1) Standardschacht" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_ARAGON="(0) Use standard Printer definition" PrinterName_MORDOR="(1) An OneNote 2007 senden" PaperTray_MORDOR="(1) Standardschacht" FormatOptions_MORDOR="(112) NewPage+CenterPage" PageSize_MORDOR="0" />
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_ARAGON="(0) Use standard Printer definition" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
        ErrorEMail="N"
        PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1"
                    CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_BSC"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_BSC
LLC_MasterSlave="M"
LLC_AlternatingACK="N"
LLC_ENQTimeOut="3000"
LLC_ACKTimeOut="5000"
LLC_DataTimeOut="3000"
LLC_ENQRetries="5"
BSC_SyncCharacterList=""
/>
</PROT>
<PARSE FktLogo="SAB"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
  <SAB
SAB_SendCreditlimit="N"
SAB_RequestType="1"
DoublePostingSize="0"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5502"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="N"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId" SetPathId1="1">
<COMM Layer1="COM" CheckState="N" Port="1" Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_BMP" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="N">
 <LLC_BMP
BMP_UseETXforChecksum="N" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="1" BMP_IgnoreChecksum="N" BMP_SendENQ="0" BMP_SendLeadingZero="0" BMP_SendTrailingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="2000" LLC_ACKTimeOut="2000" LLC_ENQRetries="10" LLC_SendRetries="10" BMP_AddDLEtoCtrlChars="T"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N" BMP_STXSelector="3" BMP_ETXSelector="1" BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="1" />
</PROT>
<PARSE FktLogo="SH1" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" ParseCharSet="850" CharPlaceHolder_Def="|||">
<SH1 SH1_RequestType="1" SH1_SendNameUppercase="Y" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" MonCharSet="256" />
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5500" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N" ParseCharSet="-1">
<SERV IfcNum="3" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" />
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum2="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PARSE FktLogo="SMS"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="63|GE_UML|46|46">
  <SMS
DoublePostingSize="0"
SMS_SendNameUppercase="Y"
SMS_UmlauteFlag="_"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_ARAGON="(0) Use standard Printer definition" PrinterName_MORDOR="(0) Use standard Printer definition" />
<PROT Layer2="LLC_UNI"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_UNI
LLC_IgnoreChecksum="Y"
LLC_TimeOutWaitingForACK="3000"
UNI_StartCharacter="2"
UNI_StartCharList=""
UNI_StopCharacter="3"
UNI_RecordLength="-1"
UNI_CheckSumPos="0"
UNI_ACKAnswerDelay="0"
UNI_EnablePolling="N"
UNI_PollingSequence=""
UNI_PollingTimeout="5000"
UNI_AnswerENQWithACK="N"
UNI_AnswerRecordWithACK="N"
UNI_UseACKDefinition="N"
UNI_ENQ_ACKDefinition="6"
UNI_Record_ACKDefinition="6"
UNI_SendStartCharList="2"
UNI_SendStopCharList="3"
UNI_Remove_STX_ETX="3"
/>
</PROT>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5502"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_ARAGON="(0) Use standard Printer definition" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum2="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PARSE Simulation="N"
                    FktLogo="SQ3"
                    XmlDecl="N"
                    InLineSchema="N"
                    XmlPackEmptyAttr="Y"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000">
  <SQ3
SQ3_SendCreditlimit="Y"
SQ3_Splitting_TotalAmount="1"
SQ3_RequestType="1"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="255"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" />
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="1"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="50"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5502"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Communication Verification

Inquiry for a room - A-record:

[10.21/07:30:35] ->

[10.21/07:30:35] <-

] -> A 0126102 t

[10.21/07:30:35] <-

[10.21/07:30:35]
 <= <PostInquiry xmlns="x-schema:PostInquirySchema_I" PostInformation="102"
 MaximumGuestsNum="9" PostNum="C 102 " RequestType="4"
 SalesOutlet="1" PaymentMethod="26" Date="081021"
 Time="073035"/>

[10.21/07:30:36]
 => <PostAnswer xmlns="x-schema:PostAnswerSchema_O" PathId="1"
 UserID="OPERA-IFC" PostNum="C 102 " AnswerStat="NG"
 ClearText="Guest not found."/>

[10.21/07:30:36] <-

[10.21/07:30:36] ->

[10.21/07:30:36] <- E Guest not found.

[10.21/07:30:36] ->


Specific Interface Setup

FIAS: Tips & Tricks

1. Setup of KeyOptions

There is no necessity for any configuration in the Ifc8Config.Xml.

The standard key-options from V8/IFC8 are designed for up to 20 different key-rights which is exactly what FIAS supports.

(Note: In elder FIAS specifications KO seems to be supported in GI. This is NOT the case. the KO fields can ONLY be used in the KR-record.)

When adding the rights in V8 you are entering an "IFC-Code".

This code will be translated in IDLR to the respective Key-Option (the position in the KO-field)

Please don't forget that the Key-Options are counted from right to left.

So:

XPDA_IFC_CODE is the IFC-Code as you entered it in V8. In the above example this would be the "2".

IDLR_KEY_CODE_POS is the "19" which would be the second position in the KO-Field of FIAS.

IDLR_KEY_CODE_VAL could be used to replace the standard "1" with another value, should the vendor require this.

Using this option allows to multiply the available 20 positions by using different values.


TAC - IDRF Insert Script

TAC uses all available A-fields from FIAS.

The following script will create the necessary IDRF entries for you:

delete from idrf where idrf.IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'GuestFormattedName');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME GuestFormattedname where V8_IFC_RESERVATIONSEARCH.PRIMARY_GUEST='1''

WHERE IDRF_LONGDESC='GuestFormattedName' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'DefRef7');

UPDATE IDRF SET IDRF_CONDITION = 'TITLE DefRef7'

WHERE IDRF_LONGDESC='DefRef7' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef1');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_XCMS_ID DefRef1 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef1' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef2');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ZIP DefRef2 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef2' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef3');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_COUNTRY DefRef3 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef3' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef4');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_CITY DefRef4 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef4' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef5');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ADDRESS1 DefRef5 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef5' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef6');

UPDATE IDRF SET IDRF_CONDITION = 'TO_CHAR(GUEST_BIRTHDAY, ''YYMMDD'') DefRef6 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef6' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef8');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_PHONE DefRef8 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef8' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef9');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_FAX DefRef9 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef9' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef10');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_EMAIL DefRef10 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef10' and IDRF_ICFG_ID=&ICFG_ID;

commit;


Specific Interface Setup

TC-POS is using the standard Micros protocol. Please refer to "M27" for setup details.


Ifc8Config.Xml

The following Config.Xml is valid as of IFC version 8.1.14.9x (Beta of 8.2.x.x)

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum1="PMS1" WSNum2="PMS1" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="TCP/S" CheckState="Y" Port="5001" Param="local" />
<PROT CheckSum="M87CS" Layer2="M87TCP" RecMaxLength="64000" RecBuffTimeOut="2000" />
<PARSE Simulation="Y" FktLogo="M27_TCP" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<M27_TCP M27_TCP_RoomPaymethod="19" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5567" MsqTcpDns="Y" SetupIRMS="IRMS" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>


IFC8Config.XML

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum2="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM CheckState="N"
                    Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="6000"
LLC_ACKTimeOut="6000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<PARSE FktLogo="FDS"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
<FDS FDS_SendNameUppercase="Y" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="3" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

C.I.S.A. support eight (8) additional access rights.

As these are sent on 8 different positions in the datastring, you can map corresponding PMS rights directly in IDLR.

See also: How do I configure access rights for Key Interfaces ?

"Encoder Busy"

C.I.S.A. has a problem with resetting it's encoders after a make key. If IFC sends a new key-request too soon after receiving a KeyAnswer it can happen that C.I.S.A. still responds with "encoder busy" even if this is not really the case.

In order to work around this problem a new setting has been added in version 8.6.0.5:

CKS_Delay_After_KeyAnswer

Values:

'0' no delay

'1' - '10000' delay in ms

Recommended value is 1 second (i.e. set configuration to '1000')


Ifc8Config.Xml

Config.Xml as of IFC8.2.x.x

- <IFC8>
- <IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" CheckState="Y" Port="1" Param="9600,N,8,1" />
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="2000" />
- <PARSE Simulation="N" FktLogo="CKS" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<CKS CO_Time_Default="1030" Use_Track2="Y" KeyCommandTimeout="15" CKS_KeyOptions_Default="" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</IFC1>
- <PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
- <COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5500" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
- <PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
- <GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>

Config.Xml for IFC8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="CKS"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="AXOR"

Layer2="N"

RecMaxLength="64000"

RecBuffTimeOut="2000"

CO_Time_Default="1030"

Use_Track2="N"

KeyCommandTimeout="75"

CheckState="Y"

DatascopeType="TAB"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

MsqTcpPort="5508"

MsqTcpDns="Y"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8"/>

</GENERAL>

</IFC8>


Specific Interface configuration

This driver is used to connect IFC8 to a DE 5240 dispenser with Springcard PC/SC reader H663 .

IFC8 will work in conjunction with another KSS-IFC8 which e.g. connects to a Vingcard system to obtain Track3 data.

The "DE5" driver can never work alone, it can only write data to a card, but cannot generate the actual key-data to be written.

This driver requires the COMM-Layer to be set to "RFID_DE5".

Detailed documentation to follow.

(This driver is currently only available with Suite8, June 2014)


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1">
<PROT Layer2="LLC_FDX"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="5000"
                MaxStackCount="32"
                ReInit_On_ExpEnq="N">
  <LLC_FDX
LLC_ACKTimeOut="5000"
LLC_ENQTimeOut="3000"
LLC_ENQRetries="3"
LLC_ACKValidity="5000"
LLC_SendRetries="3"
FDX_PostACKDelay="0"
LLC_XONTimeout="10000"
/>
</PROT>
<PARSE FktLogo="FNT"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                GetParseConfig="GetParseConfig"
                LA_TimeOut="3000"
                ParseCharSet="850"
                CharPlaceHolder_Def="|||">
  <FNT
CO_Time_Default="12"
CI_Time_Default="12"
DLS_RequestTimeout="80%"
FNT_DuplicateKeys_Option="0"
FNT_KeyOptions_Default=""
SingleThread="N"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
<COMM Layer1="COM"
                CheckState="N"
                Port="1"
                Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5504"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="4" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
        ErrorEMail="N"
        PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific interface setup

Examples for access-rights:

10.18/11:12:22]#1/0 => <KeyRequest xmlns="x-schema:KeyRequestSchema_O"
 RoomNum="101" SuiteInfo="" KeyCoder="1"
 KeyOptions="Y                   "
 KeyType="N" GuestName="TEST" GuestFormattedname="TEST"
 GuestDeparture="101019" DepartureTime="1200" UserID="1"
 WSNum="1" PathId="1"/>

[10.18/11:12:22]#1/0 <- _1 CI110101 TEST 000000101912ONNNNNNN_%

[10.18/11:12:22]#1/0 -> _

[10.18/11:09:16]#1/0 => <KeyRequest xmlns="x-schema:KeyRequestSchema_O"
 RoomNum="101" SuiteInfo="" KeyCoder="1"
 KeyOptions="YY                  "
 KeyType="N" GuestName="TEST" GuestFormattedname="TEST"
 GuestDeparture="101019" DepartureTime="1200" UserID="1"
 WSNum="1" PathId="1"/>

[10.18/11:09:16]#1/0 <- _1 CI110101 TEST 000000101912OONNNNNN_$

The rights for the Fontain system are set with "O" (=Oui) or "N" (=No). IFC8 will expect a "Y" or "O" in the KeyOption-field in order to activate a key-right.

As of IFC8 - version 8.7.2.11 the value "1" can be configured to be sent from PMS to activate a right


Specific Interface Setup

No specific setup necessary, this IFC is based on FIAS.


IfcConfog.Xml

IfcConfig.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1">
- <COMM
Layer1="COM"
CheckState="N"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PARSE
FktLogo="HLS"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
  <HLS
DLS_RequestTimeout="30"
HLS_KeyOptions_Default=""
SingleThread="Y"
CO_Time_Default="1200"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
- <PROT
Layer2="LLC_FDX"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="2500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_FDX
LLC_ACKTimeOut="10000"
LLC_ENQTimeOut="5000"
LLC_ENQRetries="5"
LLC_ACKValidity="3000"
LLC_SendRetries="3"
FDX_PostACKDelay="0"
LLC_XONTimeout="5000"
/>
</PROT>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="3" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

This interface is based on FIAS and does not need any specific setup.

Please note, that certain features from the Hotvisor system are not supported with V8. (e.g. direct printing of incoming RE-messages.) No date available, when these will be added to V8. (July 2003)


Ifc8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1">
- <COMM
Layer1="COM"
CheckState="N"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PROT
Layer2="LLC_BMP"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="Y"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="8000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="4"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_SupportEmbeddedACK="N"
/>
</PROT>
- <PARSE
FktLogo="ILU"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
  <ILU
CO_Time_Default="12"
DLS_RequestTimeout="30"
Use_Track2="Y"
ILU_VendorConfiguration="G"
ILU_KeyOptions_Default=""
SingleThread="Y"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

"Direct" and "Indirect" Communication:

Encoders from the Ilco system can be directly connected to the interface PC.

IFC8 supports direct connections up to 9 encoders.

In order to achieve this, add the corresponding amount of IFC-Objects and add routing by WsNum in the PMS-Object:

1. Clone IFC Object through right-Click on existing object:

Set the COM-port settings accordingly for the second object.

IFC8 wil now look like:

Now change the WsNum settings in the PMS Object:

WsNumX is the default entry for PMS workstations, which are not defined.

Add as many bects (by cloning exiting ones) as you have PMS workstations attached (similar like in the DMAP)

A final setup could look like:

Logic:

The PMS-computername is added after the "WsNum" entry (without a space). The related value is the number of the corresponding IFC-Object. Thus a command from the PMS is routed to the respective IFC-Object = routed to the respective Ilco encoder.

Track2:

Ilco cannot process Track-values which are longer than 19 digits. Ensure that your configuration does not allow longer values, as IFC8 itself will not cut any values but will send them out as they are generated in the buiness-logic.


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
  <COMM
CheckState="Y"
Layer1="COM"
Port="1"
Param="9600,N,8,1"
/>
<PROT ReInit_On_ExpEnq="N"
                    Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="5"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
BMP_SupportEmbeddedACK="Y"
/>
</PROT>
<PARSE Simulation="Y"
                    FktLogo="MLK"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N">
  <MLK
KeyCommandTimeout="80%"
MLK_Wait_For_Answer="N"
MLK_Send_Key_Delete="Y"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1280000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="255"
/>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
/>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1280000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8LIVE"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
DefRef0="MLK"
GuestShareflag="N"
KeyCoder="1"
KeyType="N"
RoomNum="101"
UserID="Eule"
WSNum="1"
/>
</GENERAL>
</IFC8>


Specific Interface Setup

With version 8.5.6.8 the Marlock driver has been enhanced to reflect Marlock's specification from 1998.

Two main changes have been added:

1. IFC defaults to "No BCC" now. The original Marlock specification showed a BCC character after each record. The newer specification does not have this BCC any more and current Marlock system are not able to send the character any more.

2. The driver has been changed to properly parse the incoming KeyAnswer record. This has never been realized in IFC7 (and prior versions of IFC8) as the PMS wasn't waiting for the response anyway. As V8 and OPERA wait for Keyanswer this functionality has now been added.

New Parameter: MLK_Wait_For_Answer

Possible values:

'Y' yes, check reply status (default)

'R' wait only for reply to KeyRequest, check reply status

'O' wait only for reply to KeyRequest, always use status "OK"

'N' no, don't wait for answer


Specific Interface Setup

Check-Out and "Effective immediately"

Position 17 in the KeyDelete record defines if a key should be deactivated 'immediately' or per configured grace period.

IFC8 sends this flag with value="1" (=NOT immediately) as default.

In order to send this flag with '0', RequestType needs to be set to '8' from the PMS when generating the KeyDelete record. (See the respective PMS documentation how to set this up.)

An example for Track2 for the MICROS-Interface:

Note: Messerschmitt returns the Track-data, so no IDRF-Setup for the MST-IFC is necessary

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME, IDRF_LONGDESC )

VALUES (22, 2, 'ICRD', 'IFC1: part of *.Track2 definition (get the ICRD_SEQ_NUM)');

UPDATE IDRF SET IDRF_CONDITION =

'WHERE ICRD_YRES_ID(+)=RESERVATIONNUMBER AND ICRD_XCMS_ID(+)=GUESTNUMBER AND ICRD_ACTIVE(+)=1 AND ICRD_ANSWERSTAT(+)=''OK''' WHERE IDRF_ID=22;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME, IDRF_LONGDESC )

VALUES (23, 2, 'V8_IFC_RESERVATIONSEARCH', 'IFC1: part of *.Track2 definition (get the ICRD_SEQ_NUM)');

UPDATE IDRF SET IDRF_CONDITION = 'SUBSTR(ICRD_TRACK2, 1, 16) Track2' where IDRF_ID=23;

COMMIT;

This script is designed for 16-digits. Should you receive 19-digits from the Micros, please adapt the script accordingly.

Sample with Opera and Simphony: (Park Inn Berlin Alexanderplatz Germany - Sept 2015)

here one need to set „MaxTrack2Length“ in PMS Module = „14“!

Messerschmitt MST with RFID Chips (7Byte-ID >> 14 char)

Make Key:

[09.18/10:15:23]#1/0 <-

[09.18/10:15:23]#1/0 -> 0

[09.18/10:15:23]#1/0 <- [1]01353351000000000000000000000000000000000001919091501528429140000000000000000000010003533[0D]

________________________________________

3

[09.18/10:15:24]#1/0 -> 1

[09.18/10:15:24]#1/0 <-

________________________________________

[09.18/10:15:26]#1/0 ->

[09.18/10:15:26]#1/0 <- 0

[09.18/10:15:26]#1/0 -> [1]223533900152842904A44EAA4B3E800000000000000000000000010003533[0D]

________________________________________

?

[09.18/10:15:26]#1/1 <- 1

[09.18/10:15:26]#1/1 ->

________________________________________

[09.18/10:15:26]#1/1 <= <KeyAnswer xmlns="x-schema:KeyAnswerSchema_I"
 RoomNum="3533" GuestNum="1528429" Track2="04A44EAA4B3E8000000000000000000000000"
 WSNum="BER-PI-BO01" PathId="1" AnswerStat="OK"
 KeyCoder="9"/>

[09.18/10:15:28]#0/0 ->

Abfrage bei Micros Simphony:

[09.18/10:37:17]#0/0 -> 000000359OPERA_PMS_0301 [1] 01 FO_FI_RES_QUERY 04A44EAA4B3E80

________________________________________

0EB7

________________________________________

[09.18/10:37:17]#0/1 -> 0 [1]

________________________________________

________________________________________

[09.18/10:37:17]#0/2 <= <PostInquiry xmlns="x-schema:PostInquirySchema_I"
 PostInformation="04A44EAA4B3E80"
 MaximumGuestsNum="20" WSNum="000000359" PostNum="01
 " RequestType="14" Date="150918" Time="103717"/>

One-Shot Key:

Messerschmitt One Shot key

as of IFC8.5.4.9

[04.21/12:35:14] -> 0

[04.21/12:35:27] => <KeyRequest xmlns="x-schema:KeyRequestSchema_O"
 RoomNum="607" GuestNum="0" KeyCoder="1"
 KeyType="O" DepartureTime="120000" GuestDeparture="080422"
 WSNum="DE-HPNC6320-MBO" PathId="1"/>

[04.21/12:35:27] <-

[04.21/12:35:30] <-

[04.21/12:35:30] -> 0

[04.21/12:35:30] <- 01060756100000000000000000000000000000000001122040800000000120000000000000000000000000000[0D]3

[04.21/12:35:31] -> 1

[04.21/12:35:31] <-

Identifier for One Shot Key = 56 instead of 51 for a Guest Key


Ifc8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1">
  <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="Y"
/>
- <PROT CheckSum="CKS_XOR"
Layer2="LLC_HDX"
RecMaxLength="64000"
RecBuffTimeOut="2000"
ReInit_On_ExpEnq="N">
  <LLC_HDX
LLC_ACK_Mode="1"
HDX_StartRetriesWithENQ="1"
HDX_CheckSumPos="0"
HDX_IgnoreChecksum="N"
LLC_ENQTimeOut="5000"
LLC_ENQRetries="3"
HDX_AnswerENQWithNAK="1"
/>
</PROT>
- <PARSE
Simulation="Y"
FktLogo="MST"
XmlDecl="N"
XmlPackEmptyAttr="N"
InLineSchema="N">
  <MST
CO_Time_Default="1030"
Use_Track2="Y"
KeyCommandTimeout="15"
MST_KeyOptions_Default=""
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="255"
/>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
/>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="N"
InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
/>
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
       RefNum="20"
       WSNum99="PMS1"
       WSNumX="PMS1"
       PathId1="PMS1"
       PathIdX="PMS1"
       GetPathId="PathId"
       SetPathId1="1">
<PROT Layer2="LLC_BLK"
           CheckSum="CKS_NONE"
           RecMaxLength="64000"
           RecBuffTimeOut="500"
           MaxStackCount="32"
           ReInit_On_ExpEnq="X">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="Y"
BLK_SendStartCharacter="0"
BLK_SendStopCharacter="0"
BLK_ReceiveStartCharacter="0"
BLK_ReceiveStopCharacter="0"
BLK_Remove_STX="0"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="Y"
/>
</PROT>
<PARSE FktLogo="MIW"
           Simulation="Y"
           XmlPackEmptyAttr="Y"
           XmlDecl="N"
           InLineSchema="N"
           GetParseConfig="GetParseConfig"
           LA_TimeOut="3000"
           ParseCharSet="850"
           CharPlaceHolder_Def="|||">
  <MIW
CO_Time_Default="1200"
DLS_RequestTimeout="80%"
MIW_Card_Type="1"
MIW_Encoder_With_Stacker="N"
Use_Track2="Y"
SingleThread="N"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
  <PRN
PrinterName="(0)
No Printer" PaperTray="(0)
No Printer" PageSize="0"
PrinterName_SAM="(0) Use standard
Printer definition"
FormatOptions="(112)
NewPage+CenterPage"
PrinterName_MORDOR="(0) Use
standard Printer definition" />
<COMM Layer1="COM"
           CheckState="N"
           Port="1"
           Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
<PMS1 Required="Y"
       RefNum="20"
       WSNum1="IFC1"
       WSNum2="IFC1"
       WSNumX="IFC1">
<COMM Layer1="DBS"
           Port="GlobalDbsConnect"
           Param="0"
           CheckState="Y">
  <DBS
MsqTcpPort="5504"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
           Layer2="N"
           RecMaxLength="64000"
           RecBuffTimeOut="500"
           ReInit_On_ExpEnq="N"
           MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
           FktLogo="SERV"
           XmlDecl="N"
           XmlPackEmptyAttr="Y"
           InLineSchema="N"
           ParseCharSet="-1">
<SERV IfcNum="4" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
  <PRN
PrinterName="(0)
No Printer" PaperTray="(0)
No Printer" PageSize="0"
PrinterName_SAM="(0) Use standard
Printer definition"
FormatOptions="(112)
NewPage+CenterPage"
PrinterName_MORDOR="(0) Use
standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
       ErrorEMail="N"
       PrgCaption="IFC8"
       ServiceInst="N">
  <GlobalDbsConnect0
Pwd="super"
User="V8Live"
Alias="FOV8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId" SetPathId1="1">
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
<PROT Layer2="LLC_BMP" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="N">
 <LLC_BMP
BMP_UseETXforChecksum="Y" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0" BMP_IgnoreChecksum="N" BMP_SendENQ="0" BMP_SendLeadingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="5000" LLC_ACKTimeOut="5000" LLC_ENQRetries="5" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="Y" BMP_STXSelector="0" BMP_SupportEmbeddedACK="Y" />
</PROT>
<PARSE FktLogo="MIA" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" ParseCharSet="850" CharPlaceHolder_Def="|||">
<MIA CO_Time_Default="1200" CI_Time_Default="1200" DLS_RequestTimeout="80%" Use_Track2="Y" MIA_KeyOptions_Default="YYYNNNYYNNYN" SingleThread="N" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" MonCharSet="256" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5590" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N" ParseCharSet="-1">
<SERV IfcNum="3" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

KeyOptions:

KeyOptions must be configured as "N" or "Y". Any other value will be sent as "0".


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum2="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM CheckState="N"
                    Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_BLK"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="5000"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="Y"
BLK_SendStartCharacter="0"
BLK_SendStopCharacter="0"
BLK_ReceiveStartCharacter="0"
BLK_ReceiveStopCharacter="0"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="Y"
/>
</PROT>
<PARSE FktLogo="TES"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
  <TES
CO_Time_Default="12"
DLS_RequestTimeout="10"
TES_KeyOptions_Default=""
SingleThread="Y"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5504"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="4" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

Special Access Rights:

The Make-Key record for TESA has a field for granted Access and another field for denied access.

The position of the values within the fields do NOT matter. All access rights have a defined value and can be sent in any order. e.g. :

Configuration:

1=Sauna

2=Garage

3=Fitness

So to grant Access to Sauna and Fitness-room the value in field 8 would be: |13|

Kiosk:

Support for remote keys has been added with version 8.7.1.22. Track3 data is returned to the PMS as it is received from the TESA system without any re-formatting or re-encoding.

SuiteInfo (extra doors)

Support for SuiteInfo has been added in version 8.7.2.14.

NOTE: the TESA protocol allows for a maximum of 3 extra doors to be opened. IFC8 will ignore any roomnumber exceeding the third value, if the PMS sends more then 3 roomnumbers in SuiteInfo attribute.

Issue with UserId (HT24_SS4 only) (September 2015)

the Sitech ST40 system (AMADEO Systems) had issue with @ sign in the UserID field. in that case they did not process the KeyRequest command from PMS/IFC.

Sample:

[08.31/15:41:12]#1/0 => <DataThrough xmlns="x-schema:DataThroughSchema_O" Cryptogram="³CC1³2³E³125³ ³ ³ ³³³³12010915³SHIMOJ001@SCANDIC.LOCAL³³³"/>

[08.31/15:41:12]#1/0 <- ³CC1³2³E³125³ ³ ³ ³³³³12010915³SHIMOJ001@SCANDIC.LOCAL³³³¶

this has been fixed by Amadeo/Sitech September 21 2015


Ifc8Config.XML

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1"
PathId1="PMS1"
SetPathId1="1"
PathId2="PMS1"
SetPathId2="2"
PathId3="PMS1"
SetPathId3="3">
  <COMM
Layer1="TCP/C"
Port="5555"
Param="LOCAL"
CheckState="Y"
/>
- <PROT Layer2="LLC_BMP"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="3000"
LLC_ACKTimeOut="3000"
LLC_ENQRetries="2"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
- <PARSE FktLogo="HT24"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="437"
CharPlaceHolder_Def="|||">
  <HT24
CO_Time_Default="12"
DLS_RequestTimeout="10"
Use_Track2="Y"
HT24_WaitForOperatorTimeout="3"
HT24_KeyOptions_Default=""
SingleThread="N"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5504"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="4" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
- <GENERAL ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8live"
Alias="v8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>

IFC8 <= 8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="HT24"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="LRC"

Layer2="LLC_BMP"

RecMaxLength="64000"

BMP_SendEnq="0"

BMP_CheckSumPos="0"

BMP_AnswerEnqWithNAK="0"

BMP_StartRetriesWithENQ="0"

BMP_IgnoreChecksum="N"

BMP_IgnoreNAKs="N"

RecBuffTimeOut="2000"

CO_Time_Default="1030"

Use_Track2="Y"

KeyCommandTimeout="15"

HT24_SingleRequestMode="N"

HT24_KeyOptions_Default="1479"

HT24_WaitForOperatorTimeout="2"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumGANDALF="PMS1"

WSNumANDREAS="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="4"

MsqTcpPort="5672"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="V8Live"

User="V8Live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            GetPathId="PathId"
            PathIdX="PMS1"
            PathId1="PMS1"
            SetPathId1="1">
  <COMM
CheckState="Y"
Layer1="COM"
Port="1"
Param="9600,N,8,1"
/>
<PROT ReInit_On_ExpEnq="N"
                    Layer2="LLC_FDX"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="2000">
  <LLC_FDX
LLC_ACKTimeOut="5000"
LLC_ENQTimeOut="2000"
LLC_ENQRetries="3"
LLC_ACKValidity="2000"
LLC_SendRetries="3"
FDX_PostACKDelay="1"
LLC_XONTimeout="10000"
/>
</PROT>
<PARSE Simulation="N"
                    FktLogo="SL4"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N">
  <SL4
SL4_SendKeyDelete="N"
KeyCommandTimeout="10"
SL4_SingleRequestMode="N"
SL4_Password=""
SL4_Keylevel="1"
SL4_KeyOptions_Default="000000000000"
Use_Track2="Y"
CO_Time_Default="1200"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="255"
/>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5504"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
/>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N">
<SERV IfcNum="4" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumGANDALF="PMS1" WSNumANDREAS="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,N,8,1" CheckState="Y" />
<PROT Layer2="LLC_FDX" CheckSum="CKS_NONE" RecMaxLength="64000" RecBuffTimeOut="500">
<LLC_FDX LLC_ACKTimeOut="3000" LLC_ACKValidity="2000" LLC_ENQTimeOut="2000" LLC_EnqRetries="3" LLC_SendRetries="3" FDX_PostACKDelay="1" LLC_XONTimeout="10000" />
</PROT>
<PARSE Simulation="Y" FktLogo="SLK" XmlDecl="N" XmlPackEmptyAttr="N" InLineSchema="N">
<SLK KeyCommandTimeout="10" SLK_SingleRequestMode="N" SLK_SendKeyDelete="Y" SLK_Password="KAIISTEINWILLIE" SLK_Keylevel="1" SLK_KeyOptions_Default="000000000000" Use_Track2="Y" CO_Time_Default="1200" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5574" MsqTcpDns="Y" SetupIRMS="IRMS" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="4" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>


Specific Interface Setup

Track 4:

Some Safelok system provide functionality to print data on top of the cards. This information is passed on to Safelok in the "Track 4"-field. Internally this information is passed to IFC8 in ClearText and needs to be modified in the PMS. IFC8 will not do modification of any kind and will pass the data on as is (including leading spaces.)

Password:

The password should always be configured in "Upper-Case". A wrong password will result in Error="03" ('Non-recoverable procedural error - Request terminated')

03 = Non-recoverable procedural error - Request terminated

04 = Non-recoverable system error - Request terminated


Safelock Error codes

Saflok Error codes

00 = Successfully completeled - Request terminated

01 = Recoverable Procedural error - Request active

02 = Encoder not available error - Request active

03 = Non-recoverable procedural error - Request terminated

04 = Non-recoverable system error - Request terminated

05 = Information provided - Request terminated

06 = Encoder available or ready indication - Request active

07 = Status of a pending request - Request terminated

08 = Standard Safelock information - Request terminated

11 = Status of key in encoder - Request terminated

12 = Safelock pass # information provided - Request terminated

0 00 SUCCESSFULLY COMPLETED - REQUEST TERMINATED

12 - 14 Number of keys made (3 ASCII bytes)

Optional Data Fields:

15 0 = Future Use (1 ASCII byte)

1 01 RECOVERABLE PROCEDURAL ERROR - REQUEST ACTIVE

12 - 14 DRC - Detail Response Code = error code (3 ASCII bytes).

Explanations of the error codes are provided in Attachment C.

Optional Data Fields:

15 0 = Future Use (1 ASCII byte)

16 - 20 Display Key # up to 5 ASCII characters (5 ASCII bytes)

21 Display Key Level (1 ASCII byte, values 1 to 4)

22 - 27 Display date MMDDYY (6 ASCII bytes)

28 - 31 Display time HHMM - Military / 24 hr time (4 ASCII bytes)

32 - 36 Display Lock # up to 5 ASCII characters (5 ASCII bytes)

37 - 39 Display # of keys (3 ASCII bytes, values 1 - 255)

40 - 59 Display Prereg User Name up to 20 ASCII characters (20 ASCII bytes)

2 02 ENCODER NOT AVAILABLE ERROR - REQUEST ACTIVE

12 - 14 DRC - Detail Response Code = unavailability reason code (3 ASCII bytes). Explanations of the reason codes are provided in Attachment C.

4.3 SPECIFIC DATA FIELDS FOR DIFFERENT GENERAL RESPONSE CODES (GRC)

General

Response

Code GRC Message

Dec ASCII Byte # Description of Transaction or Field

3 03 NON-RECOVERABLE PROCEDURAL ERROR - REQUEST TERMINATED

12 - 14 DRC - Detail Response Code = error code (3 ASCII bytes).

Explanations of the error codes are provided in Attachment C.

Optional Data Fields:

15 0 = Future Use (1 ASCII byte)

16 - 20 Display Key # up to 5 ASCII characters (5 ASCII bytes)

21 Display Key Level (1 ASCII byte, values 1 to 4)

22 - 27 Display date MMDDYY (6 ASCII bytes)

28 - 31 Display time HHMM - Military / 24 hr time (4 ASCII bytes)

32 - 36 Display Lock # up to 5 ASCII characters (5 ASCII bytes)

37 - 39 Display # of keys (3 ASCII bytes, values 1 - 255)

40 - 59 Display Prereg User Name up to 20 ASCII characters (20 ASCII bytes)

4 04 NON-RECOVERABLE SYSTEM ERROR - REQUEST TERMINATED

12 - 14 DRC - Detail Response Code = system error code (1 ASCII byte). Explanations of the error codes are provided in Attachment C.

Optional Data Fields:

15 0 = Future Use (1 ASCII byte)

5 05 INFORMATION PROVIDED - REQUEST TERMINATED

12 - 14 DRC - Detail Response Code = error code (3 ASCII bytes). Explanations of the error codes are provided in Attachment C.

Optional Data Fields:

15 0 = Future Use (1 ASCII byte)

16 - 20 Display Key # up to 5 ASCII characters (5 ASCII bytes)

21 Display Key Level (1 ASCII byte, values 1 to 4)

22 - 27 Display date MMDDYY (6 ASCII bytes)

28 - 31 Display time HHMM - Military / 24 hr time (4 ASCII bytes)

32 - 36 Display Lock # up to 5 ASCII characters (5 ASCII bytes)

37 - 39 Display # of keys (3 ASCII bytes, values 1 - 255)

40 - 59 Display Prereg User Name up to 20 ASCII characters (20 ASCII bytes)

4.3 SPECIFIC DATA FIELDS FOR DIFFERENT GENERAL RESPONSE CODES (GRC)

General

Response

Code GRC Message

Dec ASCII Byte # Description of Transaction or Field

6 06 ENCODER READY FOR KEY INDICATION - REQUEST ACTIVE

12 - 13 Key encoder station # (2 ASCII bytes, values 1-60)

14 - 18 Display Key # up to 5 ASCII characters (5 ASCII bytes)

19 Display Key Level (1 ASCII byte, value 1 - 4)

7 07 STATUS OF A PENDING REQUEST - TXC 128 REQUEST TERMINATED

12 Status code (1 ASCII byte, value 0-7). Explanations of the status codes are provided in Section 2.3 Additional Message Fields for SRC 62 earlier in this document.

8 08 STANDARD SAFLOK INFORMATION - TXC 127 REQUEST TERMINATED

12 - 15 Standard Default Checkin time (HHMM) Military / 24 hr Time (4 ASCII bytes)

16 - 19 Standard Default Checkout time (HHMM) Military / 24 hr Time (4 ASCII bytes)

20 - 23 Automatic Prereg Checkin time (HHMM) Military / 24 hr Time (4 ASCII bytes)

24 Automatic Prereg Check In status (1 ASCII byte, 0 = not activated, 1 = activated)

25 - 27 Max Days Away Prereg Checkin Can be (3 ASCII bytes, values 1 to 254 days)

28 - 30 Max Hrs Early a Prereg Can be Checked in (3 ASCII bytes, values 1 to 254 hours)

31 Automatic Key Check Out status (1 ASCII byte, 0 = not activated, 1 = activated)

32 - 37 System Date (MMDDYY) (6 ASCII bytes)

38 - 41 System Time (HHMM) Military / 24 hr Time (4 ASCII bytes)

42 System DST status (1 ASCII byte, 0 = standard time, 1 = DST time)

43 - 45 Standard Key Expiration Days after Checkout Date (3 ASCII bytes, values 0 to 512 days)

46 - 47 Standard Key Expiration Hours after Checkout Time (2 ASCII bytes, values 0 to 23 hours)

4.3 SPECIFIC DATA FIELDS FOR DIFFERENT GENERAL RESPONSE CODES (GRC)

General

Response

Code GRC Message

Dec ASCII Byte # Description of Transaction or Field

11 11 STATUS OF KEY IN ENCODER - TXC 129 REQUEST TERMINATED

12 Key status (1 ASCII byte, values 0 - key not inserted, 1 - key is inserted

12 12 PASS # DESCRIPTION - TXC 131 REQUEST TERMINATED

12 Selectable status(1 ASCII byte) -

0 - automatic pass # only1 - selectable pass #

13 - 32 Pass # description up to 20 alphanumeric characters (20 ASCII bytes)


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" GetPathId="PathId" PathIdX="PMS1" PathId1="PMS1" SetPathId1="1">
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
<PROT ReInit_On_ExpEnq="N" Layer2="N" CheckSum="CKS_NONE" RecMaxLength="64000" RecBuffTimeOut="2000" MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="N" FktLogo="SL6" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
 <SL6
SL6_SendKeyDelete="N" KeyCommandTimeout="10" SL6_SingleRequestMode="N"
SL6_Password="" SL6_Keylevel="1"
SL6_KeyOptions_Default="000000000000" Use_Track2="Y" CO_Time_Default="1200" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5504" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="4" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="0" LogFileName=".\<FktLogo>_<ObjName>.RTF" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>


Specific Interface Setup

Track1 configuration - OPERA only !!

Track1 information will to be sent to the key interface when a New or a Duplicate key is created for the guest.

The format of Track1 as defined in the customer specifications will be implemented as an IFC_FRM expression with ID = T1.

Track1 as expected for US Army installations follows the following format

Data (25 characters) starts at Position 1.

995335925821355201=050711 (sample data)

Pos 1-2 : 99 (constant that indicates the resort guest)

Pos 3-4 : 53 (constant that indicates hotel code for Shades of Green)

Pos 5-16 : 359258213552 (12 digit unique code)

Pos 17-18 : nn (the key number for this particular key, 01- 1st key, 02 - second key, ...)

Pos 19 : = (constant =)

Pos 20-25 : checkout date (YYMMDD).

Note: Track1 should ONLY be populated for US Army installations. Do not attempt to install anywhere else.

Track4:

Some Safelok system provide functionality to print data on top of the cards. This information is passed on to Safelok in the "Track 4"-field. Internally this information is passed to IFC8 in ClearText and needs to be modified in the PMS. IFC8 will not do modification of any kind and will pass the data on as is (including leading spaces.)

Password:

The password should always be configured in "Upper-Case". A wrong password will result in Error="03" ('Non-recoverable procedural error - Request terminated')


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="IHV"

Layer1="TCP/C"

Port="5002"

Param="192.168.1.12"

CheckSum="LRC"

Layer2="LLC_BMP"

RecMaxLength="64000"

BMP_SendEnq="0"

BMP_CheckSumPos="0"

BMP_AnswerEnqWithNAK="0"

BMP_StartRetriesWithENQ="0"

BMP_IgnoreChecksum="N"

BMP_IgnoreNAKs="N"

BMP_UseSTXforChecksum="Y"

BMP_UseETXforChecksum="Y"

RecBuffTimeOut="2000"

CO_Time_Default="1030"

Use_Track2="Y"

KeyCommandTimeout="15"

IHV_SingleRequestMode="N"

IHV_WaitForOperatorTimeout="2"

IHV_KeyOptions_Default=""

IHV_KeyOptions_0="Pool"

IHV_KeyOptions_1="Sauna"

IHV_KeyOptions_2="Bar"

IHV_KeyOptions_3="VIP"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumGANDALF="PMS1"

WSNumANDREAS="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="3"

MsqTcpPort="5804"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="v8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Known problems on the Inhova system

The Inhova technician needs to set his protocol properly, else his system will not accept any of IFC8's records:


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="TLX"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="AXOR"

Layer2="LLC_BMP"

BMP_SendEnq="0"

BMP_CheckSumPos="1"

BMP_AnswerEnqWithNAK="0"

BMP_StartRetriesWithENQ="0"

BMP_IgnoreChecksum="N"

BMP_IgnoreNAKs="Y"

LLC_EnqRetries="4"

LLC_ACKTimeOut="5000"

LLC_ENQTimeOut="4000"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

TLX_KeyOptions_Default="11110000"

CO_Time_Default="12"

Use_Track2="Y"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5524"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8Live"

Alias="V8"/>

</GENERAL>

</IFC8>


Known Problems

The Timelox system has problems with requests for Duplicate keys, if they are sent to soon after the request for a new key, as it takes them a long time to write records to their database.

Subsequently it is not possible to generate more then 1 key at C/I with current Suite and OPERA systems. Duplicate keys need to be generated via the Submenu.

Track2:

Timelox can set their system to write the standard Fidelio-Track2 (16 digits) to the track2 of the keys.

KeyOptions:

Up to 8 KeyOptions are supported by the Timelox System.

Examples:

[02.06/13:29:13.16] => <KeyRequest xmlns="x-schema:KeyRequestSchema_O"
 RoomNum="101" KeyCoder="01" KeyOptions="1                   "
 KeyType="N" KeyCount="1" DepartureTime="103000"
 GuestDeparture="090207" Track2="1000010112345678"
 WSNum="1" PathId="1"/>

[02.06/13:30:07.94] <- 049010030010100110010100000000164752839718055570#21

[02.06/13:30:07.94] ->

[02.06/13:29:13.16] => <KeyRequest xmlns="x-schema:KeyRequestSchema_O"
 RoomNum="101" KeyCoder="01" KeyOptions="1111"
 KeyType="N" KeyCount="1" DepartureTime="103000"
 GuestDeparture="090207" Track2="1000010112345678"
 WSNum="1" PathId="1"/>

[02.06/13:35:33.22] <- 049010030010100110010F00000000164752839718055570#56

[02.06/13:35:33.23] ->

<KeyRequest xmlns="x-schema:KeyRequestSchema_O" RoomNum="101"
 KeyCoder="1" KeyOptions="10101010" KeyType="N"
 KeyCount="1" DepartureTime="103000" GuestDeparture="090207"
 Track2="4752839718055570=08091011000007900000" WSNum="1"
 PathId="1"/>

[02.06/13:40:02.02] <- 049010030010100110015500000000164752839718055570#20

[02.06/13:40:02.03] ->

Keyoptions are transferred in a single byte in Hex-representation and are read as 8 bits by Timelox.


IFC8Config.Xml

NOTE: The below shows a connection to V8 as an example.

- <IFC8>
- <IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId" SetPathId1="1">
<COMM Layer1="TCP/C" CheckState="Y" Port="5002" Param="LOCAL" />
- <PROT Layer2="LLC_BLK" CheckSum="CKS_NONE" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="N">
 <LLC_BLK
BLK_CheckSumPos="0" BLK_IgnoreChecksum="N" BLK_SendStartCharacter="0"
BLK_SendStopCharacter="5" BLK_ReceiveStartCharacter="0"
BLK_ReceiveStopCharacter="3" BLK_InitialDelay="0" BLK_InterbyteDelay="0" BLK_ReceiveOnTimeout="Y" />
</PROT>
- <PARSE FktLogo="TLP" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" ParseCharSet="850" CharPlaceHolder_Def="|||">
- <TLP CO_Time_Default="12" DLS_RequestTimeout="20" Use_Track2="Y" TLP_WaitForOperatorTimeout="3" TLP_KeyOptions_Default="" SingleThread="N" CI_Time_Default="1200" Use_Track1="Y" TLP_EA_Field="0" TLP_PP_Field="1">
<CommonRooms TLP_CommonRoom_Default="" TLP_CommonRoom_1="1,2,11" TLP_CommonRoom_2="1,2,11,12" TLP_CommonRoom_3="1,2,11-13" />
</TLP>
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" MonCharSet="256" />
</IFC1>
- <PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
- <COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5550" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
- <PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N" ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" />
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

Specific Interface Setup for 'Timelox DC-One' and 'Vingcard Visi-Online'

This system was originally created by Timelox. Once Vingcard has bought Timelox is was decided to use the same system as Vingcard On-Line system.

Subsequently the same system can now be bought under two different names. Technically both systems are identical.

Minimum software version of this system to work properly with IFC8 is: 1.10.0. Minimum IFC8 version is 8.7.1.19

Communication Layer:

IFC8 acts as TCP-client, Comm needs to be set to "TCP/C"

Setup of "Common Rooms":

Common rooms ('CR' field) are triggered by position 20-6 of the KeyOption attribute (counting from the left). Other KeyOptions are ignored.

Each key-option must be configured with value="1" in the PMS. The corresponding common rooms are configured in the config.xml:

in the above example KeyOptions 20-17 have a translation to it's respective value as it is configured on the TLP-system.

It is possible to configure values like "3-7" to define a range; please check with the Timelox technician about the used setup.

thus the KeyOption value 1 (from left) is sent when PMS KeyOption Position 20 is set

KeyOption value 2 is sent when PMS KeyOption Position 19 is set

KeyOption value 3 is sent when PMS KeyOption Position 18 is set

KeyOption value 4 is sent when PMS KeyOption Position 17 is set

KeyOption value 5 is sent when PMS KeyOption Position 16 is set

and so on.

Sample:

[09.16/13:09:38]#1/0 => <KeyRequest
 xmlns="x-schema:KeyRequestSchema_O" RoomNum="104"
 SuiteInfo="" KeyCoder="1" KeyOptions="1
                   "
 ClearText="" RequestType="" KeyType="N"
 Track1="" Track2="" DefRef1="" DefRef2="valid
 until:15-NOV-2014" DefRef4="" GuestNum="373404"
 GuestShareflag="N" GuestArrival="141114" GuestDeparture="141115"
 GuestFirstname="MArcus" GuestName="TEST" DepartureTime="120000"
 UserID="SUPERVISOR" WSNum="OS.INT.493203472" PathId="1"/>

[09.16/13:09:38]#1/0 <- CCA;EA1;AM1;CO201411151200;CR20;GR104;IOSUPERVISOR;NC1;TA1;UFMArcus;UI373404;USTEST;[0D][0A]

[09.16/13:10:31]#1/0 => <KeyRequest
 xmlns="x-schema:KeyRequestSchema_O" RoomNum="104"
 SuiteInfo="" KeyCoder="1" KeyOptions="
 1                  "
 ClearText="" RequestType="" KeyType="N"
 Track1="" Track2="" DefRef1="" DefRef2="valid
 until:15-NOV-2014" DefRef4="" GuestNum="373404"
 GuestShareflag="N" GuestArrival="141114" GuestDeparture="141115"
 GuestFirstname="MArcus" GuestName="TEST" DepartureTime="120000"
 UserID="SUPERVISOR" WSNum="OS.INT.493203472" PathId="1"/>

[09.16/13:10:31]#1/0 <- CCA;EA1;AM1;CO201411151200;CR19;GR104;IOSUPERVISOR;NC1;TA1;UFMArcus;UI373404;USTEST;[0D][0A]

[09.16/13:11:31]#1/0 => <KeyRequest xmlns="x-schema:KeyRequestSchema_O"
 RoomNum="104" SuiteInfo="" KeyCoder="1"
 KeyOptions="  1
                 "
 ClearText="" RequestType="" KeyType="N"
 Track1="" Track2="" DefRef1="" DefRef2="valid
 until:15-NOV-2014" DefRef4="" GuestNum="373404"
 GuestShareflag="N" GuestArrival="141114" GuestDeparture="141115"
 GuestFirstname="MArcus" GuestName="TEST" DepartureTime="120000"
 UserID="SUPERVISOR" WSNum="OS.INT.493203472" PathId="1"/>

[09.16/13:11:31]#1/0 <- CCA;EA1;AM1;CO201411151200;CR18;GR104;IOSUPERVISOR;NC1;TA1;UFMArcus;UI373404;USTEST;[0D][0A]

DefRef-fields

The TLP driver requires extra information from OPERA, which is not part of general Key-business-logic.

Thus this information is requested through userdefinable fields:

- KeyRequest->DefRef1 = Pre-Checkin-Flag (Expected value:1)

- KeyRequest->DefRef2 = Checkin-Time (IFC8 will use the configured default, if no value is passed in this field)

- KeyRequest->DefRef4 = Re-Issue-Flag (Expected value:'Y' or N')

In case data should be printed on top of a card with the Resort-Pass-System, as seen @ WYNN Resort in Las Vegas, the OPERA configuration would be:

RPAD(nvl(MEMBERSHIP_NUMBER, " "),37, " ")+RPAD(nvl(initcap(GUEST_FIRST_NAME), " "),15, " ")+RPAD(nvl(GUEST_NAME, " "), 20, " ")

One-Shot-Keys:

The RESORTPASS system needs to have printer-data (PP-field) in order to create a key. As of version 8.7.1.0 IFC8 will fill the PP-field with corresponding values, if the RESORTPASS parameter is enabled and if OPERA does not send anything in ClearText.

Printing:

Timelox can print customized data on top of the keys. This can be done with or without the "ResortPass-System". The necessary data is configured in the PMS and is sent to the IFC through ClearText. Please use the ResortPass parameter and TLP_PP_Field to configure printing to your needs.

Creating new keys during the stay:

The Timelox/Vingcard protocol does not have an option to send "new" or "duplicate" keys. The system identifies based on the JR-field (joiner flag) if existing cards should be overwritten or not. This functionality is roombased and has no relation to a reservation so deleting keys from one reservation in the PMS will result in all keys from the room being removed from the Timelox/Vingcard system. IFC8 can only use the joiner-field by the value from the GuestShareFlag, so sending a "New Key" will actually result in a "Duplicate Key" if sharers are checked-in to a room. Subsequently the only practical approach for this limitation is:

Suite8 & OPERA: send a KeyDelete for this reservation before making a new key

OPERA: as alternative: use "Lost Key"

Track2 data:

As of version 8.7.1.19 Track2-data can be retrieved from Timelox/Vingcard:

The minimum Vingcard/Timelox version to support this functionality is 1.10.0 . Elder Timelox versions will send the Track2-data in lower case which will lead to problems when trying to use the key on the POS.

As of IFC version 8.7.2.21 Track2-data is trimmed to 14 characters in case it is sent with 16 characters and the last 2 characters are "FF"

Track3-data:

Track3-data for Kiosk-systems can be retrieved from Timelox/Vingcard. However: In order to use this data for RFID keys it is necessary to transfer the used Track2 (i.e. the cards UID) in the KeyRequest. If this is not passed to IFC8 from the PMS then the returned data can only be used on magnetic stripe keys.

Example:

[03.09/12:53:36]#1/0
 => <KeyRequest xmlns="x-schema:KeyRequestSchema_O" RoomNum="1002"
 KeyCoder="10" RequestType="4" KeyType="D"
 GuestNum="35422" GuestShareflag="O" GuestArrival="100308"
 GuestDeparture="100310" GuestName="Wach" DepartureTime="110000"
 UserID="Visor, Super" WSNum="DE-B-NB-FV" PathId="1"/>

[03.09/12:53:36]#1/0 <- CCA;EA0;AM1;CO201003101100;CR5;GR1002;IOVisor, Super;JR1;NC1;SR?;TA10;UI35422;USWach;[0D][0A]

[03.09/12:53:38]#0/0 -> CCA;EA0;TA10;RC0;T3BD861B0C63FB143FEA0F488446A0533E0C2F0000000000000000000DA0037CFC10029F;[0D][0A]

[03.09/12:53:38]#0/1
 <= <KeyAnswer xmlns="x-schema:KeyAnswerSchema_I" RoomNum="1002"
 GuestNum="35422" AnswerStat="OK" Track3="BD861B0C63FB143FEA0F488446A0533E0C2F0000000000000000000DA0037CFC10029F"
 KeyCoder="10" WSNum="DE-B-NB-FV" PathId="1"/>

Additional Rooms:

Vingcard/Timelox can only attach rooms which are +/- 4 from the 'masterroom'. If the user e.g. tries to combine room 1001 with room 2002 the key cannot be made and Timelox/Vingcard will return an error. Room 1001 could only be combined with rooms 997-1000 and 1002-1005.

Kiosk:

PMS signals to IFC that a remote- or Kiosk-key should be made by setting RequestType="4" in KeyRequest.

Timelox/VisiOnline expect the EncoderID to be "0" as a signal that a Remote-Key should be generated. IFC8 will set the encoder-ID to "0" automatically if RequestType is received with "4".

IMPORTANT:

_Track3_RequestMode must be set to "1" in order for Kiosk-Keys to work.

To use RFID cards you need the extra IFC with FKT="DE5" for the 'DE 5240 dispenser with Springcard PC/SC reader H663'

Remote keys with magnetic cards is not supported for the TLP-driver.

An example of how to setup KeyOptions in Opera:

The goal is to send ‘28’ for a common room:

[08.15/10:26:41]#1/0
 => <KeyRequest xmlns="x-schema:KeyRequestSchema_O" RoomNum="2001"
 SuiteInfo="" KeyCoder="1" KeyOptions="1
                   "
 ClearText="" RequestType="" KeyType="N"
 Track1="" Track2="" DefRef1="" DefRef2=""
 DefRef4="" GuestNum="22772" GuestShareflag="N"
 GuestArrival="110513" GuestDeparture="110515" GuestFirstname="Tom"
 GuestName="Basel" DepartureTime="120000" UserID="SUPERVISOR"
 WSNum="VMXPHOSTWIN7V50" PathId="1"/>

[08.15/10:26:41] <MessLvl2> Added encoder 1 to array: 0/ 1

[08.15/10:26:41]#1/0 <- CCA;EA1;AM1;CO201105151200;CR28;GR2001;IOSUPERVISOR;NC1;TA1;UFTom;UI22772;USBasel;[0D][0A]


Printing on top of cards with OPERA

Opera Hotel Edition oracle

EAME Opera V.5.0.02:

Configuration of Printing Guest Details with TimeloxPlus TLP IFC

Neuss 1st March 2010

Author: M. Boesel

IFC8 Timelox Plus – Print Guest Details

TLP IFC8 FKT Logo:

Set up the system in order to deliver data being used by vendor to be printed on the guest key card.

Depending on the Timelox add on system ‘ResortPass’ The Timelox system expects the data to be printed either in the PP field or the PF field within the Key request record for this data.

When ResortPass is used then the data is expected in the PP field

When ResortPass is not used then the data is expected in the PF field

This fact is required to be clarified with the local vendor prior to installation.

ResortPass Interface

This interface is used for printing and encoding cards in one operation. A command is sent from Fidelio to Timelox using the PMS Plus interface (TLP). Timelox fills in the magnetic card data to be encoded and passes the command on to ResortPass via a socket.

ResortPass encodes and prints the card on the selected card printer and sends a result code back to Timelox via the socket.

Timelox will wait for up to 60 seconds for an answer for each card. In case one command requires printing of more than one card, the card printing is aborted at the first failure.

More info about ResortPass you will get from Vingcard/Timelox.

Resume:

The ResortPass Interface is a direct Interface between Timelox and ResortPass.

Micros Fidelio only interfaces to Timelox Key System using the IFC FKT TLP. Micros Fidelio does not directly interface to ResortPass.

SETUP IFC CONFIG for IFC8.config.xml

Min IFC8 Version = IFC8.7.1.17Sp01

IFC1 – Application Layer – TLP

set parameter TLP_PP_field to ‘0’ resp ‘1’ when the data to be printed must be sent in PP Field

set parameter TLP_PP_field to ‘2’ when the data to be printed must be sent in PF Field

See IFC8 tool tip for details

SETUP IFC CONFIG in Opera PMS:

In order to fill the PP field on TLP driver in submenu the option Print guest details must be defined

Shall look like below when done

In IFC_FRM the GENERAL field must contain the related expression with the desired data.

Possible values as of below sample. Final format to be setup as by customer’s needs.

Within the IFC Submenu in Opera PMS the user needs to press the PRINT GUEST DETAILS button to select the values.

Usual choice is to send all data.

Press OK to get back to the Key Menu.

Then press the new key or duplicate key button as needed.

The IFC will now send a record to Timelox like this :

Sample for data sent in PP field :

[09.30/18:09:52]
 => <KeyRequest xmlns="x-schema:KeyRequestSchema_O" RoomNum="810"
 SuiteInfo="" KeyCoder="1" KeyOptions=""
 Track1="" Track2="" ClearText="Vallner No Adults:1  No Children:0
 ARV:10-MAY-2008 DEP:15-MAY-2008" RequestType="" KeyType="N" DefRef1=""
 DefRef2="" DefRef4="" GuestNum="47155" GuestShareflag="N"
 GuestArrival="080510" GuestDeparture="080515" GuestFirstname="Linda"
 GuestName="Vallner" DepartureTime="120000" UserID="SUPERVISOR"
 WSNum="OS.INT.290535335" PathId="1"/>

[09.30/18:09:52] <MessLvl2> Added encoder 1 to array: 0/ 1

[09.30/18:09:52] <- CCA;EA1;AM1;CO200805151200;GR810;IOSUPERVISOR;NC1;PPVallner No Adults:1 No Children:0 ARV:10-MAY-2008 DEP:15-MAY-2008;TA1;UFLinda;UI47155;USVallner;[0D][0A]

Sample for data sent in PF field :

[03.01/17:28:29]#1/0
 => <KeyRequest xmlns="x-schema:KeyRequestSchema_O" RoomNum="702"
 SuiteInfo="" KeyCoder="1" KeyOptions=""
 Track1="000000000100000471590805151000070201" Track2="1000000000000502"
 ClearText="Vilagi No Adults:1  No Children:0  ARV:10-MAY-2008
 DEP:15-MAY-2008" RequestType="" KeyType="N" DefRef1="Vilagi#10-MAY-2008#15-MAY-2008"
 DefRef2="Vilagi-10-MAY-2008-15-MAY-2008" DefRef4=""
 GuestNum="47159" GuestShareflag="N" GuestArrival="080510"
 GuestDeparture="080515" GuestFirstname="Peter" GuestName="Vilagi"
 DepartureTime="120000" UserID="SUPERVISOR" WSNum="OS.INT.290535335"
 PathId="1"/>

[03.01/17:28:29]#1/0 <- CCA;EA1;AM1;CO200805151200;GR702;IOSUPERVISOR;NC1;PFVilagi No Adults:1 No Children:0 ARV:10-MAY-2008 DEP:15-MAY-2008;T1000000000100000471590805151000070201;T21000000000000502;TA1;UFPeter;UI47159;USVilagi;[0D][0A]


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="Y"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="Y"
LLC_ENQTimeOut="8000"
LLC_ACKTimeOut="3000"
LLC_ENQRetries="4"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<PARSE FktLogo="UQY"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="20127"
                    CharPlaceHolder_Def="|GE_UML||">
  <UQY
DLS_RequestTimeout="80%"
Use_Track2="N"
UQY_KeyAnswer="N"
SingleThread="Y"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5504"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="N"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="4" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
<GlobalDbsConnect0 />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum2="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM CheckState="N"
                    Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_UNI"
                    CheckSum="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_UNI
LLC_IgnoreChecksum="Y"
LLC_TimeOutWaitingForACK="3000"
UNI_StartCharacter="2"
UNI_StartCharList=""
UNI_StopCharacter="3"
UNI_RecordLength="-1"
UNI_CheckSumPos="0"
UNI_ACKAnswerDelay="0"
UNI_EnablePolling="L"
UNI_PollingSequence="5"
UNI_PollingTimeout="2000"
UNI_AnswerENQWithACK="Y"
UNI_AnswerRecordWithACK="N"
UNI_UseACKDefinition="N"
UNI_ENQ_ACKDefinition="6"
UNI_Record_ACKDefinition="6"
UNI_SendStartCharList="2"
UNI_SendStopCharList="3"
UNI_Remove_STX_ETX="3"
/>
</PROT>
<PARSE FktLogo="VC8"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
  <VC8
DLS_RequestTimeout="10"
VC8_AccessFlags=""
VC8_AccessGroup="0"
VC8_AccessExtended="A"
VC8_KeyOptions_Default="A"
SingleThread="N"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="3" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum2="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM CheckState="N"
                    Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_UNI"
                    CheckSum="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_UNI
LLC_IgnoreChecksum="Y"
LLC_TimeOutWaitingForACK="3000"
UNI_StartCharacter="2"
UNI_StartCharList=""
UNI_StopCharacter="3"
UNI_RecordLength="-1"
UNI_CheckSumPos="0"
UNI_ACKAnswerDelay="0"
UNI_EnablePolling="L"
UNI_PollingSequence="5"
UNI_AnswerENQWithACK="Y"
UNI_AnswerRecordWithACK="N"
UNI_UseACKDefinition="N"
UNI_ENQ_ACKDefinition="6"
UNI_Record_ACKDefinition="6"
UNI_SendStartCharList="2"
UNI_SendStopCharList="3"
UNI_Remove_STX_ETX="3"
UNI_PollingTimeout="2000"
/>
</PROT>
<PARSE FktLogo="VC1"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
  <VC1
DLS_RequestTimeout="10"
VC1_AccessFlags=""
VC1_AccessGroup="0"
VC1_AccessExtended="*"
VC1_KeyOptions_Default="B"
SingleThread="N"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="3" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="VC2"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="CKS_AXOR"

Layer2="LLC_BMP"

BMP_UseSTXforChecksum="N"

BMP_UseETXforChecksum="Y"

BMP_SendEnq="1"

BMP_CheckSumPos="0"

BMP_SendLeadingZero="0"

BMP_AnswerEnqWithNAK="0"

BMP_StartRetriesWithENQ="0"

BMP_IgnoreNAKs="N"

BMP_AddDLEtoCtrlChars="N"

BMP_ACKAnswerDelay="50"

BMP_PostACKDelay="0"

LLC_ACKTimeOut="5000"

LLC_EnqTimeOut="8000"

LLC_EnqRetries="5"

RecBuffTimeOut="2000"

RecMaxLength="64000"

CO_Time_Default="1030"

KeyCommandTimeout="15"

VC2_UserGroup_Default="1"

VC2_UserGroup_0="1"

VC2_UserGroup_1="1"

VC2_UserGroup_2="2"

VC2_UserGroup_3="3"

VC2_UserGroup_4="4"

VC2_SendKeyDelete="Y"

VC2_Ignore_PMS_KeyDelete="Y"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="4"

MsqTcpPort="5504"

MsqTcpDns="N"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="v8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Specific Interface Setup

Encoder-ID:

The different Vingcard systems can support a different number of encoders:

Vingcard 2100:

Only one encoder is supported - the encoder-ID must be configured (IDMP/DMAP) as "00"

Vingcard 2600:

Up to 6 encoders can be supported, the IDs must be set as "1"..."6", other values cannot be configured on the Vingcard system

Vingcard 2800:

Up to 99 Encoders are supported, through standard IDMP/DMAP configuration


Specific Interface Setup

Communication Layer:

FKT=VC3 will support RS232 connections ONLY. In order to use TCP you need to use FKT=VCT.

Vingcard has a rather intensive setup for UserGroups and UserTypes.

This has been intensively explained in the "How do I..." section.

Setup of Usergroups:

from the XML:

VC3_UserGroup_Default="GUEST"

VC3_UserGroup_0="GUEST0"

VC3_UserGroup_1="GUEST1"

VC3_UserGroup_2="GUEST2"

It is possible to add additional attribute here, however:

Values MUST start with "0" and MUST be consecutive.

i.e. if you would add:

VC3_UserGroup_4="GUEST4"

now, would this be ignored by the Interface, as

VC3_UserGroup_3="GUEST3"

is missing.

UserTypes generally only have one value, as this is used by Vingcard to support Suite-Concepts, which V8 currently can not do. Suite-handling will be added to a later version of V8 and is not scheduled yet.

UserTypes are configured through KeyOptions position 20, Usergroups through KeyOptions position 19.

Usergroups and RoomType need to be setup in consecutive order. If more then 10 choices are necessary you can go on with letters:

and

Track 2:

Vingcard generally works fine with the standard Fidelio 16-digit Track 2.

Just set IDRV_TR2_NUM to "1".

Track1:

As of version 8.7.1.3 it is possible to send Track1. The configuration is done via IDRF, IFC8 will automatically insert the correct values. Only HOTEL-ID (ex VC3_CFG->T1_HOTELID) and Access-Code (ex VC3_CFG->T1_ACCESS) need to be changed manually in IDRF as IFC8 defaults them to "00000001" and "01".

Check-In Time:

The Vingcard string contains a field "Check-In Date/Time" (D) This field contains a date-stamp and a time-stamp.

IFC8 will take the date from the attribute 'ArrivalDate'. IFC8 will use system-date, if this is not available.

The time-value will always be set to "0000" for midnight so that no key can not be active right when it is made due to time-differences.

KeyDelete/KeydataChange/PostSimple (get an already created Track2-Info):

IDRF_VIEW_NAME='V8_IFC_CARD'

IDRF_CONDITION='DECODE(ICRD_ANSWERSTAT,'OK',ICRD_TRACK2,NULL) Track2 WHERE ICFG_ID(+)=4 AND YRES_ID(+)=RESERVATIONNUMBER AND XCMS_ID(+)=GUESTNUMBER AND ICRD_ACTIVE(+)=1'

KeyRequest (build new Track2-Information):

IDRF_VIEW_NAME= V8_IFC_CARD

IDRF_CONDITION= DECODE(ROOMNUMBER,NULL,NULL,'1'||DECODE(ICRD_SEQ_NUM,NULL,0,SUBSTR(LPAD(ICRD_SEQ_NUM+1,3,'0'),-1,1))||SUBSTR(LPAD(ROOMNUMBER,30,'0'),-6,6)||SUBSTR(LPAD(RESERVATIONNUMBER,30,'0'),-8,8)) KeyRequest_Track2

Where condition: WHERE ICFG_ID(+)=4 AND YRES_ID(+)=RESERVATIONNUMBER AND ICRD_ACTIVE(+)=1 AND NVL(ICRD_SEQ_NUM,0)=NVL((SELECT MAX(MAX_SEQ.ICRD_SEQ_NUM) FROM V8_IFC_CARD MAX_SEQ WHERE MAX_SEQ.ICFG_ID=ICFG_ID AND MAX_SEQ.YRES_ID=RESERVATIONNUMBER AND MAX_SEQ.ICRD_ACTIVE=1),0)'

(The filter for ICFG is only necessary if a second KSS IFC is installed)

Multi-Property:

Version 5 of the Vision system has new functionality "Multi-Property". With that functionality Vingcard can install just one application serving several Hotels. This functionality requires that IFC8 transfers the Hotel-ID with every request. On Suite8 the Hotel-Name will be used, on OPERA the resort-ID. The hotel-information from IFC8 is hardcoded and can NOT be modified. Ensure that the necessary information is passed to the Vingcard technician in time, so that he can setup his system based on V8-Hotelname or OPERA-Resort-ID.

Required versions:

IFC8 >= 8.5.6.5

Suite8: any version

OPERA:

V4: 4.0.05.01

V5: 5.0.00.04

The new feature can be activated through VCT_HotelIdFieldOption:

RFID:

Vingcard supports new hardware as of version 5.4 of the Vision system: RFID.

Creating of keys is possible with elder IFC8/PMS versions. However using the cards for identification on the Micros requires usage of current versions.

The traditional "Track2" will not be used any more. Vingcard returns the unique card-identifier in the KeyAnswer record with the RFID feature. This value is stored in the database and is later used during Micros-inquiries.

The new functionality is enabled through VCT_CardType:

Required versions:

IFC8 >= 8.5.6.5

Suite8: any version

OPERA:

V4: 4.0.05.01

V5: 5.0.00.04

NOTE: Carefully check if the attached Micros-System is equipped with a reader, which can read the UID of the Vingcard-cards.

Kiosk:

PMS signals to IFC that a remote- or Kiosk-key should be made by setting RequestType="4" in KeyRequest.

Vingcard expects a different RecordType (5 instead of 4) for those Keys.

Note: The Encoder-ID will be sent in these records, as per IDMP translation, please check with your Vingcard Technician which EncoderID he expects for these keys (in development testings the ID did not matter).

CARD-Type needs to be configured as per environment:

A standard configuration would be:

i.e.

Binary-Data = Y

Card-Type=3

VCT-Mode=0

To use magnetic cards you need the extra IFC with FKT="LED" for the 'LED 5331 dispenser/encoder for magnetic cards'

To use RFID cards you need the extra IFC with FKT="DE5" for the 'DE 5240 dispenser with Springcard PC/SC reader H663'

Following is an example for a userdefined (check IDRV settings !!) setup with Track 2 as:

Sequence Number-Roomnumber-Reservationnumber

DO NOT USE THE BELOW IN GENERAL INSTALLATIONS ! This section was added for testing purposes !!

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

--M87POS V8_IFC_RESERVATIONSEARCH

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME, IDRF_LONGDESC ) VALUES (26, 2, 'V8_IFC_RESERVATIONSEARCH', 'POS>VC3->userdefined T2 SequenceNumber|RoomNumber|RegisterNumber');

UPDATE IDRF SET IDRF_CONDITION = 'DECODE(ICRD_SEQ_NUM, NULL, NULL, SUBSTR(ICRD_SEQ_NUM,
 LENGTH(ICRD_SEQ_NUM),1)||SUBSTR(LPAD(ROOMNUMBER,30,''0''),24,7)||SUBSTR(LPAD(RESERVATIONNUMBER,30,''0''),23,8))PostInquiry_Track2,SUBSTR(DECODE(ICRD_SEQ_NUM,
 NULL, 0,ICRD_SEQ_NUM+1),LENGTH(DECODE(ICRD_SEQ_NUM, NULL, 0,ICRD_SEQ_NUM+1)),
 1)||SUBSTR(LPAD(ROOMNUMBER, 30, ''0''), 24, 7)||SUBSTR(LPAD(RESERVATIONNUMBER,
 30, ''0''), 23, 8)KeyRequest_Track2'WHERE IDRF_ID=26;

--M87POS ICRD

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME, IDRF_LONGDESC ) VALUES (27, 2, 'ICRD', 'POS>VC3->userdefined T2 SequenceNumber|RoomNumber|RegisterNumber');

UPDATE IDRF SET IDRF_CONDITION = 'WHERE ICRD_YRES_ID(+)=RESERVATIONNUMBER AND ICRD_XCMS_ID(+)=GUESTNUMBER AND ICRD_ACTIVE(+)=1 AND ICRD_ANSWERSTAT(+)=''OK'' ORDER BY ICRD_SEQ_NUM DESC' where IDRF_ID=27;

--VC3 V8_IFC_RESERVATIONSEARCH

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME, IDRF_LONGDESC ) VALUES (36, 3, 'V8_IFC_RESERVATIONSEARCH', 'VC3->userdefined T2 SequenceNumber|RoomNumber|RegisterNumber');

UPDATE IDRF SET IDRF_CONDITION = 'DECODE(ICRD_SEQ_NUM, NULL, NULL, SUBSTR(ICRD_SEQ_NUM,
 LENGTH(ICRD_SEQ_NUM),1)||SUBSTR(LPAD(ROOMNUMBER,30,''0''),24,7)||SUBSTR(LPAD(RESERVATIONNUMBER,30,''0''),23,8))PostInquiry_Track2,
 SUBSTR(DECODE(ICRD_SEQ_NUM, NULL,0,ICRD_SEQ_NUM+1),LENGTH(DECODE(ICRD_SEQ_NUM,
 NULL,0,ICRD_SEQ_NUM+1)), 1)||SUBSTR(LPAD(ROOMNUMBER, 30, ''0''), 24, 7)||SUBSTR(LPAD(RESERVATIONNUMBER,
 30, ''0''), 23, 8)KeyRequest_Track2' WHERE IDRF_ID=36;

--VC3 ICRD

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME, IDRF_LONGDESC )VALUES (37, 3, 'ICRD', 'VC3->userdefined T2 SequenceNumber|RoomNumber|RegisterNumber');

UPDATE IDRF SET IDRF_CONDITION = 'WHERE ICRD_YRES_ID(+)=RESERVATIONNUMBER AND ICRD_XCMS_ID(+)=GUESTNUMBER AND ICRD_ACTIVE(+)=1 AND ICRD_ANSWERSTAT(+)=''OK'' ORDER BY ICRD_SEQ_NUM DESC' where IDRF_ID=37;

--M87POS IERR (invl. Track2)

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF,IERR_LONGDESC ) VALUES (14, 2, 'PostAnswer', 2, 'NG', '"Invalid Card"', 'Inquiry by Track2');

COMMIT;


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="VC3"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="AXOR"

Layer2="LLC_BMP"

RecMaxLength="1500000"

BMP_SendEnq="0"

BMP_CheckSumPos="0"

RecBuffTimeOut="500"

CO_Time_Default="1030"

Use_Track2="Y"

KeyCommandTimeout="15"

VC3_RecordFormat="2"

VC3_Send_Key_Delete="Y"

VC3_CruiseNum="0815"

VC3_ShipName="MS Andreas"

VC3_SailFrom="Montego Bay"

VC3_SailTo="Miami"

VC3_UserGroup_Default="GUEST"

VC3_UserGroup_0="GUEST0"

VC3_UserGroup_1="GUEST1"

VC3_UserGroup_2="GUEST2"

VC3_UserGroup_3="GUEST3"

VC3_UserGroup_4="GUEST4"

VC3_UserGroup_5="GUEST5"

VC3_UserGroup_6="GUEST6"

VC3_UserGroup_7="GUEST7"

VC3_UserGroup_8="GUEST8"

VC3_RoomType_Default="TYPE"

VC3_RoomType_0="TYPE0"

VC3_RoomType_1="TYPE1"

VC3_RoomType_2="TYPE2"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

MsqTcpPort="5509"

MsqTcpDns="Y"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
<PARSE FktLogo="VCT" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
 <VCT VCT_Mode="0"
VCT_LicenseCode="123456789" VCT_AddDiagInfo="N" VCT_BinaryData="N" VCT_KeyOptions_Default="" CO_Time_Default="1200"
KeyCommandTimeout="10" Use_Track2="Y" VCT_RecordFormat="1" VCT_Send_Key_Delete="Y" VCT_CruiseNum="" VCT_ShipName=""
VCT_SailFrom="" VCT_SailTo="" VCT_UserGroup_Default="" VCT_RoomType_Default="">
<UserGroups />
<RoomTypes />
</VCT>
</PARSE>
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_VCT" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<COMM CheckState="Y" Layer1="TCP/C" Port="5001" Param="LOCAL" />
</IFC1>
<PMS1Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<PARSE FktLogo="SERV" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<SERV IfcNum="3" />
</PARSE>
<PROT Layer2="LLC_SIM" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS" CheckState="Y" Port="GlobalDbsConnect" Param="0">
<DBS DbsDebugMode="N" MsqTcpDns="N" MsqTcpPort="5501" />
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>


Specific Interface Setup

Type topic text here.


Specific Interface Setup

Using Track2 on POS:

Yaltronics does not use the standard Fidelio 16-digits but has it's own logic to write data to track 2.

This info consists of Card-ID (2), Hotelcode (5) and reservationnumber(8).

Card-ID and Hotelcode are defined in the config.xml.

Setup:

To enable this functionality set IDRV_TR2_NUM to "3".

As the actual track2-info is returned from the vendor, no further config for YAL is necessary.

However, you need to tell the micros interface where and how to look for incomming Track2 info. To do that add the following to the IDRF for your Micros interface:

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

501, 2, 'ICRD', 'TRACK2_Definition');

UPDATE IDRF SET IDRF_CONDITION = 'ICRD_TRACK2 Track2

WHERE

ICRD_YRES_ID(+)=RESERVATIONNUMBER AND

ICRD_XCMS_ID(+)=GUESTNUMBER AND

ICRD_ACTIVE(+)=1 AND

ICRD_ANSWERSTAT(+)="OK"'

WHERE IDRF_ID=501;

After that restart the Micros IFC and the V8_IFC_RES_2-view will not have a new Field "Track2" containing the respective value from ICRD for this guest.

(Please check your ICFG_ID and change the above script accordingly.)


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="YAL"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="LRC"

Layer2="LLC_BMP"

RecMaxLength="64000"

BMP_SendEnq="1"

BMP_SendLeadingZero="1"

BMP_CheckSumPos="0"

BMP_AnswerEnqWithNAK="0"

BMP_StartRetriesWithENQ="1"

BMP_IgnoreChecksum="N"

BMP_IgnoreNAKs="N"

RecBuffTimeOut="2000"

KeyCommandTimeout="15"

YAL_SingleRequestMode="N"

YAL_CardID= "99"

YAL_HotelCode="00000"

YAL_UserName="BELLA"

YAL_DefaultValidity="N"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumGANDALF="PMS1"

WSNumANDREAS="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="4"

MsqTcpPort="5671"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="V8live"

User="V8Live"

Alias="V8"/>

</GENERAL>

</IFC8>


General Setup for 'Spectradyne' based drivers

Welcomeflag:

The handling of the Welcome-Flag is configurable through: ???_Welcome_Display_Flag

Possible values:

0 = send blank (default, blank means that the TV system decides if the Welcome Screen should be shown or not)

1 = Send "Y" - Always open Welcome Screen

2 = Send "N" - Never open Welcome Screen

3 = dynamic handling -> IFC8 decides if the flag should be set as "Y" or "N".

Further configuration for the dynamic handling:

IFC8 stores in IGST_SWAP_NUM if a check-in has already been sent to a vendor system - and how many times an update or Swap has ben executed for this check-in. Subsequently IFC8 knows, if the welcome screen has been sent or not.

This information is passed on to the driver in DefRef1. To configure accordingly you can run the following script:

V8:

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'IGST', 'PostListItem.DefRef1');

UPDATE IDRF SET IDRF_CONDITION = 'IGST_SWAP_NUM DefRef1 where IGST_YRES_ID=RESERVATIONNUMBER'

WHERE IDRF_LONGDESC='PostListItem.DefRef1' and IDRF_ICFG_ID = &ICFG_ID;

OPERA:

Set up an IFC_FRM through the Opera IFC Configuration form:

Class of Service tab->Name Display Format->User defined format, DefRef1 in the first pickbox, Reservation_General_view in the second pickbox, click on the icon in the middle of the 2 right hand windows, choose expression and enter :

IFC8_AGENT.GET_WELCOME_COUNT(RESV_NAME_ID)


Ifc8Config.Xml

<IFC8>
<IFC1 ConfAllowed="Y" Simulation="N" Log="Y" MonDetail="3" MonType="CHR" LogLength="500000" Required="Y" >
  <CBC
CBC_Welcome_Display_Flag="0"
CBC_Bill_Display_Use_DC="Y"
CBC_Message_Display_Page_Length="8"
CBC_Message_Display_Page_Width="36"
BillViewMultiply="1"
/>
  <TVRights
TVRights_NoRights=""
TVRights_NoPayTV=""
TVRights_NoAdult=""
TVRights_All=""
TVRights_Default="" />
  <Language
Lang_Default="0"
Lang_EA="0"
Lang_FR="0"
Lang_GE="0"
Lang_IT="0"
Lang_JA="0"
Lang_SP="0"
/>
</PARSE>
<PROT ReInit_On_ExpEnq="N"
                Layer2="LLC_BMP"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="100"
BMP_PostACKDelay="300"
BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
/>
</PROT>
  <COMM
CheckState="Y"
Layer1="COM"
Port="1"
Param="9600,N,8,1"
/>
</IFC1>
<PMS1 ConfAllowed="Y"
        Simulation="Y"
        Log="Y"
        MonDetail="3"
        MonType="CHR"
        LogLength="500000"
        Required="Y"
        FktLogo="SERV"
        IfcNum="1"
        MsqTcpPort="5500"
        MsqTcpDns="N"
        Layer1="DBS"
        Port="GlobalDbsConnect"
        Param="0"
        CheckSum="N"
        Layer2="N"
        RecMaxLength="64000"
        CheckState="Y"
        DatascopeType="CHR"
        RecBuffTimeOut="500"
        RefNum="20"
        WSNum1="IFC1"
        WSNumX="IFC1"
        XmlDecl="N">
  <MON
MonShowState="N"
MonType="CHR"
MonDetail="3"
MonCharSet="0"
LogLength="2500000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
/>
<PARSE FktLogo="SERV"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N">
<SERV IfcNum="2" />
</PARSE>
<PROT Layer2="LLC_SIM"
                CheckSum="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS"
                CheckState="Y"
                Port="GlobalDbsConnect"
                Param="0">
  <DBS
DbsDebugMode="N"
MsqTcpDns="N"
MsqTcpPort="5500"
/>
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId" SetPathId1="1">
<COMM Layer1="COM" CheckState="N" Port="1" Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_BSC" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="N">
<LLC_BSC LLC_MasterSlave="S" LLC_AlternatingACK="N" LLC_ENQTimeOut="5000" LLC_ACKTimeOut="5000" LLC_ENQRetries="4" BSC_SyncCharacterList="" />
</PROT>
<PARSE FktLogo="CIS" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" ParseCharSet="850" CharPlaceHolder_Def="|||">
<CIS />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" MonCharSet="256" />
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
- <COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5500" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N" ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" />
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef Date="(Date)" Time="(Time)" RequestType="0" RoomNum="101" TotalAmount="20000" ClearText="ClearText_Value" PostType="T" SalesOutlet="1" Tvright="3" GuestShareflag="N" AnswerStat="OK" PostNum="1234" />
</GENERAL>
</IFC8>


Specific Interface Setup

Message Handling:

C.I.S. expects the messagetext right when the message is entered.

If messages should be supported, activate the license and set ICFG_CMD_MSG to "2".

If you have a voicemai-linterface running and want corresponding messages on the C.I.S. system set IDRV_VM_NOTIFY to "2".


Ifc8Config.Xml

Config.Xml as of IFC8.2.x.x

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,N,8,1" CheckState="Y" />
<PROT CheckSum="LRC" Layer2="LLC_BSC" RecMaxLength="64000" RecBuffTimeOut="2000">
<LLC_BSC LLC_AlternatingACK="N" LLC_EnqTimeOut="8000" LLC_ACKTimeOut="5000" LLC_EnqRetries="4" />
</PROT>
<PARSE Simulation="N" FktLogo="CI2" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<Language Lang_Default="0" Lang_EA="1" Lang_FR="2" Lang_GE="3" Lang_IT="4" Lang_JA="5" Lang_SP="6" />
<CI2 BillViewMultiply="1" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5500" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>

Config.Xml for IFC8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="CI2"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="LRC"

Layer2="LLC_BSC"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

RefNum="20"

BillViewMultiply="100"

XmlDecl="N"

Lang_Default="0"

Lang_EA="1"

Lang_FR="2"

Lang_GE="3"

Lang_IT="4"

Lang_JA="5"

Lang_SP="6"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5523"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8Live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="PLV"

Layer1="COM"

Port="1"

Param="9600,E,8,2"

CheckSum="LRC"

Layer2="LLC_BSC"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

RefNum="20"

XmlDecl="N"

Lang_Default="0"

Lang_EA="1"

Lang_FR="2"

Lang_GE="3"

Lang_IT="4"

Lang_JA="5"

Lang_SP="6"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="3"

MsqTcpPort="5552"

MsqTcpDns="N"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8Live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

- <IFC8>
- <IFC1 Required="Y" PathId="N" PathIdN="ASYN" RefNum="20" PathId1="PMS1" PathIdX="PMS1">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
- <PARSE FktLogo="LDG" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
 <LDG
LDG_Welcome_Display_Flag="0" LDG_Bill_Display_Use_DC="N"
LDG_Message_Display_Page_Length="8" LDG_Message_Display_Page_Width="36"
BillViewMultiply="1"
/>
<TVRights TVRights_NoRights="" TVRights_NoPayTV="" TVRights_NoAdult="" TVRights_All="" TVRights_Default="" />
<Language Lang_Default="0" Lang_EA="0" Lang_FR="0" Lang_GE="0" Lang_IT="0" Lang_JA="0" Lang_SP="0" />
</PARSE>
- <PROT ReInit_On_ExpEnq="N" Layer2="LLC_BMP" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_BMP
BMP_UseETXforChecksum="Y" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0" BMP_IgnoreChecksum="N" BMP_SendENQ="0" BMP_SendLeadingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="5000" LLC_ACKTimeOut="5000" LLC_ENQRetries="3" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="100" BMP_PostACKDelay="300" BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
/>
</PROT>
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
</IFC1>
- <PMS1 Required="Y" WSNumX="IFC1" RefNum="20">
- <PARSE FktLogo="SERV" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonShowState="N" MonType="CHR" MonDetail="3" MonCharSet="0" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
- <PROT Layer2="LLC_SIM" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
- <COMM Layer1="DBS" CheckState="Y" Port="GlobalDbsConnect" Param="0">
<DBS DbsDebugMode="N" MsqTcpDns="N" MsqTcpPort="5500" />
</COMM>
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 DbsConfig="ICFG(0)" SetupIRMS="IRMS" User="V8live" Alias="V8" Pwd="live" />
</GENERAL>
</IFC8>


Supported Record Types

Supported Records

Record Indicator | Direction | Description
STRT | Both | Sent on Startup, answered with VER
VER | Both | Positive answer to requests
ERR | Both | Negative answer to requests
TEST | GAS -> IFC | Answered with VER
CHKI | IFC -> GAS | Sent upon Check-In and GuestataChange
CHKO | IFC -> GAS | Sent upon Check-Out of the last guest in a room (sharerhandling !)
MOVE | IFC -> GAS | RoomMove based on GuestNumber Not supported ! (Might be one day!!)
STAT | GAS -> IFC | Request for Guestinfo, answered with INFO or ERR
INFO | IFC -> GAS | GuestInformation, Nameformatting via GuestFormattedName using IDRF
POST | GAS -> IFC | Charge Posting, answered via INFO or ERR
MSGW | IFC -> GAS | Message waiting notification
MSGR | GAS -> IFC | Request for message display
WKOD | Both | WakeUp oder (=Set/Delete Wakeup)
WKDE | GAS -> IFC | WakeupResult, answered with VER or ERR
HSKP | GAS -> IFC | Housekeeping RoomStatus answered with VER or ERR
INIT | GAS -> IFC | Database Swap request. answered with VER, a DB-Swap is started (CheckOuts and Message Status ONLY !!)
LOOK | GAS -> IFC | Request for Guestinfo, answered with INFO or ERR
NAME | IFC -> GAS | Guest Information, Nameformatting via GuestFormattedName using IDRF
DISP | GAS -> IFC | Request for Guest-Bill, answered with NAME/ITEM/BAL or ERR
ITEM / BAL | IFC -> GAS | Guest-Bill records, sent after DISP is received and the guest was found.

Not Supported Records

Record Indicator | Direction | Description
HELO | IFC -> GAS | Alive check, never sent
MOVE | IFC -> GAS | RoomMove based on GuestNumber Not supported ! (Might be one day!!)
FUPD | IFC -> GAS | Request for Folio Update, opnly "new" items should be returned to GAS. Will not be supported with IFC8.
FCLR | IFC ->GAS | "Folio Clear" -- Should be sent, when a charge/item is deleted in the PMS. Will never be supported in IFC8.
XCKO | GAS -> IFC | Request for Remote Check Out - Currently not supported in V8. Supported for OPERA !
MHDR | IFC -> GAS | Message Header - currently not supported
MOPT | IFC -> GAS | Message Text - currently not supported
MCLR | IFC - GAS | Message Text - currently not supported
MTXT | IFC -> GAS | Message Text - currently not supported
MTX2 | IFC -> GAS | Message Text - currently not supported
MSGD | GAS -> IFC | Message delivered - currently not supported, Parser will currently send: VER
GHDR | IFC -> GAS | Group Message sent - currently not supported
MSGS | GAS -> IFC | Message Text - currently not supported, should be answered with VER or ERR, Parser will currently send: VER
DGMH | IFC -> GAS | Dynamic Group Message - Not supported
DGMR | IFC -> GAS | Dynamic Group Message - Not supported
DGMD | GAS -> IFC | Dynamic Group Message - Not supported, should be answered with VER or ERR, Parser will currently send: VER
WKST | Both | Request for Wakeupcall status, currently not supported. should be answered with VER or ERR, Parser will currently send: EER
WKIF | Both | Response to WKST, not supported
ROST | GAS -> IFC | TV RoomStatus On-Line/Off-Line, not supported, should be answered with VER or ERR, Parser will currently send: EER


Specific Interface Setup

Messagehandling:

Grundig Asis (like all Spectradynes) is not expecting the actual message text, when a new message is entered, but only a notification of the existence of a message.

This must be configured in ICFG_CMD_MSG, by setting the value to "3". (Messagelightstatus and GuestMesRequest)

Additionally set IDRV_VM_NOTIFY to "1" (Messagelightstatus). In this field you can configure, if the IFC should send a notification or a textmessage upon a voicemail event.

Changes to the protocol:

the original design of the spectradyne protocol catered for IDs with maximum 6 digits which is much to short for our PMS systems. In order to overcome this problem some clones have enhanced their drivers. With IFC8 version 8.7.2.6 the following configuration parameters become active:

    • GAS_AccountNumber_Length

Values: '6' - '9' Default:6

    • GAS_GuestName_Length

Values: '20' - '37' Default:20

    • GAS_GroupName_Length

Values: '5' - '8' Default:5

    • GAS_MessageNumber_Length

Values: '6' - '9' Default:6

Changing a value will reflect to all incoming and outgoing records. Please carefully verify with your vendor-technician before touching any of these configuration attributes.


Ifc8Config.Xml

NOTE: Check you FKT-Logo !!

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="1500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
<PARSE FktLogo="GAS" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
 <GAS
GAS_Welcome_Display_Flag="0" GAS_Bill_Display_Use_DC="N"
GAS_Message_Display_Page_Length="8" GAS_Message_Display_Page_Width="36"
BillViewMultiply="1"
/>
<TVRights TVRights_NoRights="" TVRights_NoPayTV="" TVRights_NoAdult="" TVRights_All="" TVRights_Default="" />
<Language Lang_Default="0" Lang_EA="0" Lang_FR="0" Lang_GE="0" Lang_IT="0" Lang_JA="0" Lang_SP="0" />
</PARSE>
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_BMP" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_BMP
BMP_UseETXforChecksum="Y" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0" BMP_IgnoreChecksum="N" BMP_SendENQ="0" BMP_SendLeadingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="5000" LLC_ACKTimeOut="5000" LLC_ENQRetries="3" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="100" BMP_PostACKDelay="300" BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
/>
</PROT>
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1">
<MON MonShowState="N" MonType="CHR" MonDetail="3" MonCharSet="0" LogLength="1500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
<PARSE FktLogo="SERV" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<SERV IfcNum="3" />
</PARSE>
<PROT Layer2="LLC_SIM" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS" CheckState="Y" Port="GlobalDbsConnect" Param="0">
<DBS DbsDebugMode="N" MsqTcpDns="N" MsqTcpPort="5503" />
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="GAS"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="LRC"

Layer2="LLC_BMP"

RecMaxLength="64000"

BMP_SendEnq="0"

BMP_CheckSumPos="0"

RecBuffTimeOut="2000"

Lang_Default=" "

Lang_EA="E"

Lang_FR="F"

Lang_GE="G"

Lang_IT="I"

Lang_JA=" "

Lang_SP=" "

TVRights_NoRights="CLO"

TVRights_NoPayTV="CLO"

TVRights_NoAdult="KID"

TVRights_All="STD"

TVRights_Default=" 2"

TVRights_4=" 4"

TVRights_5=" 5"

TVRights_6=" 6"

TVRights_7=" 7"

TVRights_8=" 8"

TVRights_9=" 9"

GAS_Welcome_Display_Flag="0"

GAS_Bill_Display_Use_DC="Y"

GAS_Message_Display_Page_Length="8"

GAS_Message_Display_Page_Width="36"

BillViewMultiply="100"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

MsqTcpPort="5510"

MsqTcpDns="Y"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8"/>

</GENERAL>

</IFC8>


Specific Interface Setup

Messagehandling:

Guestlink (like all Spectradynes) is not expecting the actual message text, when a new message is entered, but only a notification of the existence of a message.

This must be configured in ICFG_CMD_MSG, by setting the value to "3". (Messagelightstatus and GuestMesRequest)

Additionally set IDRV_VM_NOTIFY to "1" (Messagelightstatus). In this field you can configure, if the IFC should send a notification or a textmessage upon a voicemail event.


Ifc8Config.Xml

<IFC8>
<IFC1 ConfAllowed="Y" Simulation="N" Log="Y" PathIdX="PMS1">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="2000000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
<PARSE FktLogo="TGL" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
 <TGL
TGL_Welcome_Display_Flag="0" TGL_Bill_Display_Use_DC="N"
TGL_Message_Display_Page_Length="8" TGL_Message_Display_Page_Width="36"
BillViewMultiply="1"
/>
<TVRights TVRights_NoRights="" TVRights_NoPayTV=" 2" TVRights_NoAdult=" 1" TVRights_All=" 0" TVRights_Default=" 0" />
<Language Lang_Default="0" Lang_EA="0" Lang_FR="0" Lang_GE="0" Lang_IT="0" Lang_JA="0" Lang_SP="0" />
</PARSE>
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_BMP" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_BMP
BMP_UseETXforChecksum="Y" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0" BMP_IgnoreChecksum="N" BMP_SendENQ="0" BMP_SendLeadingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="5000" LLC_ACKTimeOut="5000" LLC_ENQRetries="3" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="100" BMP_PostACKDelay="300" BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
/>
</PROT>
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
</IFC1>
<PMS1 ConfAllowed="Y" Simulation="Y" Log="Y" MonDetail="3" MonType="CHR" LogLength="500000" Required="Y" FktLogo="SERV" IfcNum="1" MsqTcpPort="5500" MsqTcpDns="N" Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckSum="N" Layer2="N" RecMaxLength="64000" CheckState="Y" DatascopeType="CHR" RecBuffTimeOut="500" RefNum="20" WSNum1="IFC1" WSNumX="IFC1" XmlDecl="N">
<MON MonShowState="N" MonType="CHR" MonDetail="3" MonCharSet="0" LogLength="2000000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
<PARSE FktLogo="SERV" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<PROT Layer2="LLC_SIM" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS" CheckState="Y" Port="GlobalDbsConnect" Param="0">
<DBS DbsDebugMode="N" MsqTcpDns="N" MsqTcpPort="5501" />
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>

For IFC8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="TGL"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="LRC"

Layer2="LLC_BMP"

RecMaxLength="64000"

BMP_SendEnq="0"

BMP_CheckSumPos="0"

RecBuffTimeOut="500"

Lang_Default=" "

Lang_EA="E"

Lang_FR="F"

Lang_GE="G"

Lang_IT="I"

Lang_JA=" "

Lang_SP=" "

TVRights_NoRights=" 2"

TVRights_NoPayTV=" 2"

TVRights_NoAdult=" 1"

TVRights_All=" 0"

TVRights_Default=" 2"

TVRights_4=" 4"

TVRights_5=" 5"

TVRights_6=" 6"

TVRights_7=" 7"

TVRights_8=" 8"

TVRights_9=" 9"

TGL_Welcome_Display_Flag="0"

TGL_Bill_Display_Use_DC="Y"

TGL_Message_Display_Page_Length="8"

TGL_Message_Display_Page_Width="36"

BillViewMultiply="100"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

MsqTcpPort="5512"

MsqTcpDns="Y"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8"/>

</GENERAL>

</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 ConfAllowed="Y" Simulation="N" Log="Y" MonDetail="3" MonType="CHR" LogLength="500000" Required="Y" FktLogo="HON" Layer1="TCP/S" Port="5001" Param="local" CheckSum="LRC" Layer2="LLC_FDX" RecMaxLength="64000" CheckState="Y" DatascopeType="CHR" RecBuffTimeOut="2000" RefNum="20" XmlDecl="N" SCV_TimeRecordOffset="100" Lang_Default="01" Lang_EA="01" Lang_FR="02" Lang_GE="03" Lang_IT="04" Lang_JA="05" Lang_SP="06" Lang_NL="07" InLineSchema="N" WSNum99="PMS1" WSNumX="PMS1" LLC_ACKTimeout="2000" LLC_ACKValidity="2000" SCV_AmtPin="8" SCV_AmtPinComment="" SCV_MessageType="3" SCV_SendBindOnStartup="1" SCV_VersionMode="1" SCV_WakeupMode="0" SCV_UseUnits="2" SCV_ChargePosition="1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\GSV_IFC1.RTF" MonCharSet="255" />
<PARSE FktLogo="GSV" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
 <GSV
GSV_Welcome_Display_Flag="0" GSV_Bill_Display_Use_DC="N"
GSV_Message_Display_Page_Length="8" GSV_Message_Display_Page_Width="36"
BillViewMultiply="1" GSV_Use_Extended_Checkin="N" GSV_RegNum_Length_Maginet="0"
GSV_Send_Swap_Checkin="N" />
<TVRights TVRights_NoRights="" TVRights_NoPayTV="" TVRights_NoAdult="" TVRights_All="" TVRights_Default="" />
<Language Lang_Default="0" Lang_EN="0" Lang_FR="0" Lang_DE="0" Lang_IT="0" Lang_ES="0" Lang_PT="0" Lang_NL="0" Lang_TR="0" Lang_RU="0" Lang_EL="0" Lang_JA="0" />
</PARSE>
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_BMP" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_BMP
BMP_UseETXforChecksum="Y" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0" BMP_IgnoreChecksum="N" BMP_SendENQ="0" BMP_SendLeadingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="5000" LLC_ACKTimeOut="5000" LLC_ENQRetries="3" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="100" BMP_PostACKDelay="300" BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
/>
</PROT>
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
</IFC1>
<PMS1 ConfAllowed="Y" Simulation="Y" Log="Y" MonDetail="3" MonType="CHR" LogLength="500000" Required="Y" FktLogo="SERV" IfcNum="1" MsqTcpPort="5500" MsqTcpDns="N" Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckSum="N" Layer2="N" RecMaxLength="64000" CheckState="Y" DatascopeType="CHR" RecBuffTimeOut="500" RefNum="20" WSNum1="IFC1" WSNumX="IFC1" XmlDecl="N">
<MON MonShowState="N" MonType="CHR" MonDetail="3" MonCharSet="0" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\SERV_PMS1.RTF" />
<PARSE FktLogo="SERV" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<PROT Layer2="LLC_SIM" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS" CheckState="Y" Port="GlobalDbsConnect" Param="0">
<DBS DbsDebugMode="N" MsqTcpDns="N" MsqTcpPort="5501" />
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

No special setup necessary, this I/F is based on FIAS.


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="PPC"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="LRC"

Layer2="LLC_BSC"

RecMaxLength="64000"

LLC_AlternatingACK="N"

LLC_EnqTimeOut="3000"

LLC_ACKTimeOut="5000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

XmlDecl="N"

PPC_Version = "0"

PPC_UseNoPost = "Y"

BillViewMultiply="100"

Lang_Default="0"

Lang_EA="1"

Lang_FR="2"

Lang_GE="3"

Lang_IT="4"

Lang_JA="5"

Lang_SP="6"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

MsqTcpPort="5511"

MsqTcpDns="Y"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8"/>

</GENERAL>

</IFC8>


Specific Interface Setup

Message Handling:

Prodac expects the messagetext right when the message is entered.

If messages should be supported, activate the license and set ICFG_CMD_MSG to "2".

If you have a voicemail-interface running and want corresponding messages on the Prodac system set IDRV_VM_NOTIFY to "2".

Wakeups:

Prodac can handle wakeup calls through two different record types: '08' and '18'

Support for Record Type '18' was added in version 8.5.0.12:

New Parameter: PPC_Wakeup_RecordType

Values:

'0' record type 08 (default)

'1' record type 18

New Parameter: PPC_Wakeup_Date

Values:

'0' DD.MM (default)

'1' DD.MM.YYYY

New Parameter: PPC_Accept_WakeupResults

Values:

'N' no

'Y' yes (default)


Specific Interface Setup

Messagehandling:

Locatel / Grundig Asis (like all Spectradynes) is not expecting the actual message text, when a new message is entered, but only a notification of the existence of a message.

This must be configured in ICFG_CMD_MSG, by setting the value to "3". (Messagelightstatus and GuestMesRequest)

Additionally set IDRV_VM_NOTIFY to "1" (Messagelightstatus). In this field you can configure, if the IFC should send a notification or a textmessage upon a voicemail event.

Changes to the protocol:

the original design of the spectradyne protocol catered for IDs with maximum 6 digits which is much to short for our PMS systems. In order to overcome this problem some clones have enhanced their drivers. With IFC8 version 8.7.2.6 the following configuration parameters become active:

    • GAS_AccountNumber_Length

Values: '6' - '9' Default:6

    • GAS_GuestName_Length

Values: '20' - '37' Default:20

    • GAS_GroupName_Length

Values: '5' - '8' Default:5

    • GAS_MessageNumber_Length

Values: '6' - '9' Default:6

Changing a value will reflect to all incoming and outgoing records. Please carefully verify with your vendor-technician before touching any of these configuration attributes.

TCP-communication:

As of August 2010 Locatel can support communication via TCP-socket. The record layout is unchanged, but the protocol layer needs to be adopted when TCP should be used:

IFC8 acts as TCP cliebnt so the COMM-configuration should look like:

<COMM Layer1="TCP/C" CheckState="Y" Port="9891" Param="194.239.1.8"/>

The PROT need to be re-configured to:

Layer2="N"

CheckSum="N"

Locatel versions (the following information is as per Locatel HQ):

All of the below described enhancements are supported in eclipse version 1.9.2, 2.0,2.1 and later, when updated to the latest versions.

For serial connection the versions are:

eclipse-pmsio 1.1.63-1 for 1.9.2.

2ml-eclipse-pmsio-2.0.3-2 for 2.0.

2ml-eclipse-pmsio-2.1.2 for 2.1.

For TCP/IP the versions are:

eclipse-pmsiotcp 1.1.23-1 for 1.9.2.

2ml-eclipse-pmsiotcp 2.0.2-1 for 2.0.

2ml-eclipse-pmsiotcp 2.1.2 for 2.1.

These versions will be released shortly.

TCP/IP connection has been possible since eclipse version 1.8.

Enhancement of account number to 8 char has been supported since version eclipse-pmsio 1.1.57 and eclipse-pmsiotcp 1.1.18.

Enhancement of name and groupname has also been supported since version eclipse-pmsio 1.1.57 and eclipse-pmsiotcp 1.1.18.


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1">
<COMM Layer1="COM"
                CheckState="N"
                Port="1"
                Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_BMP"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<PARSE FktLogo="MNE"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                ParseCharSet="20127"
                CharPlaceHolder_Def="|GE_UML||">
  <MNE
MNE_Welcome_Display_Flag="3"
MNE_Message_Display_Page_Length="8"
MNE_Message_Display_Page_Width="36"
MNE_Bill_Display_Use_DC="N"
BillViewMultiply="1"
MNE_Use_Extended_Checkin="Y"
MNE_DBSwap_Option="0"
MNE_GroupField_Option="2"
/>
  <TVRights
TVRights_NoRights=""
TVRights_NoPayTV=""
TVRights_NoAdult=""
TVRights_All=""
TVRights_Default="" />
  <Language
Lang_Default="0"
Lang_EN="0"
Lang_FR="0"
Lang_DE="0"
Lang_IT="0"
Lang_ES="0"
Lang_PT="0"
Lang_NL="0"
Lang_TR="0"
Lang_RU="0"
Lang_EL="0"
Lang_JA="0"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="X"
                MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="N"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="3" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y"
        ErrorEMail="N"
        PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="MEN"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="CKS_XOR"

Layer2="LLC_BSC"

LLC_AlternatingACK="N"

LLC_EnqTimeOut="3000"

LLC_ACKTimeOut="5000"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

RefNum="20"

XmlDecl="N"

Lang_Default="0"

Lang_EA="1"

Lang_FR="2"

Lang_GE="3"

Lang_IT="4"

Lang_JA="5"

Lang_SP="6"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="3"

MsqTcpPort="5603"

MsqTcpDns="N"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1"
        GetPathId="PathId"
        PathIdX="PMS1">
  <COMM
Layer1="COM"
CheckState="Y"
Port="1"
Param="9600,N,8,1"
/>
<PROT Layer2="LLC_BMP"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="100"
BMP_PostACKDelay="300"
BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
BMP_SupportEmbeddedACK="N"
/>
</PROT>
<PARSE FktLogo="MOV"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                ParseCharSet="20127"
                CharPlaceHolder_Def="|||">
  <MOV
MOV_Welcome_Display_Flag="0"
MOV_Bill_Display_Use_DC="N"
MOV_Message_Display_Page_Length="8"
MOV_Message_Display_Page_Width="36"
BillViewMultiply="1"
/>
  <TVRights
TVRights_NoRights=""
TVRights_NoPayTV=""
TVRights_NoAdult=""
TVRights_All=""
TVRights_Default="" />
  <Language
Lang_Default="0"
Lang_EN="0"
Lang_FR="0"
Lang_DE="0"
Lang_IT="0"
Lang_ES="0"
Lang_PT="0"
Lang_NL="0"
Lang_TR="0"
Lang_RU="0"
Lang_EL="0"
Lang_JA="0"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

NOTE: Check your FKT-Logo !!

- <IFC8>
- <IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM Layer1="TCP/S" Port="5002" Param="local" CheckState="Y" />
- <PROT CheckSum="LRC" Layer2="LLC_BSC" RecMaxLength="64000" RecBuffTimeOut="2000" ReInit_On_ExpEnq="N">
<LLC_BSC LLC_AlternatingACK="N" LLC_EnqTimeOut="3000" LLC_ACKTimeOut="5000" LLC_ENQTimeOut="5000" LLC_ENQRetries="4" />
</PROT>
- <PARSE Simulation="N" FktLogo="OCV" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<Language Lang_Default="0" Lang_EA="1" Lang_FR="2" Lang_GE="3" Lang_IT="4" Lang_JA="5" Lang_SP="6" />
 <OCV
OCV_Welcome_Display_Flag="0" OCV_Bill_Display_Use_DC="N"
OCV_Message_Display_Page_Length="8" OCV_Message_Display_Page_Width="36"
BillViewMultiply="1"
/>
<TVRights TVRights_NoRights="" TVRights_NoPayTV="" TVRights_NoAdult="" TVRights_All="" TVRights_Default="" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</IFC1>
- <PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
- <COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5502" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
- <PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="3" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>


Specific Interface Setup

Messagehandling:

Otrum (like all Spectradynes) is not expecting the actual message text, when a new message is entered, but only a notification of the existence of a message.

This must be configured in ICFG_CMD_MSG, by setting the value to "3". (Messagelightstatus and GuestMesRequest)

Additionally set IDRV_VM_NOTIFY to "1" (Messagelightstatus). In this field you can configure, if the IFC should send a notification or a textmessage upon a voicemail event.

INFO-Record:

As of version 7.0.6 it is possible to send 'Additional guest info' (C,3) as extra field on the end of the INFO-record. The information contained in this field is normally intended to be populated from a userdefinable field from the reservation. The values should enable/disable certain channels based on the choice in the PMS.

Configuration for the value is done through DefRef2 for PostListItem. (Remember: The field has only 3 characters!!)

To activate the feature:

TGL_OTT_Additional_INFO_Fields

Values:

'0' no additional guest info

'1' send 3 chars from DefRef2 at the end of INFO record

Specification:

Info message :

--------------

0....+....1....+....2....+....3....+....4....+....5....+....6...

<1-[0/0][1]S0049999INFO123 000005Herrn Lorie N00000YNGY 0OT1

Pos. Field

----------------------------------------------------------------

08 - 11 Function code (INFO) for sending additional information

12 - 17 Room-number

18 - 23 Register-number

24 - 43 Guest name

44 Message waiting indicator

45 - 49 Group name

50 Bill view indicator

51 Video checkout indicator

52 Language code

53 Welcome message indicator

54 - 56 Right ID indicator

__0 = unbarcode (Pay-Tv is available)

__1 = barxcode (Adult movies blocked)

__2 = barcode (Pay-Tv blocked)

57 – 59 Additional guest info


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="TGL_OTT"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="LRC"

Layer2="LLC_BMP"

RecMaxLength="64000"

BMP_SendEnq="0"

BMP_CheckSumPos="0"

BMP_SendLeadingZero="0"

BMP_AnswerEnqWithNAK="0"

BMP_StartRetriesWithENQ="0"

BMP_IgnoreChecksum="N"

BMP_IgnoreNAKs="N"

RecBuffTimeOut="2000"

TGL_OTT_Welcome_Display_Flag="0"

TGL_OTT_Bill_Display_Use_DC="Y"

TGL_OTT_Message_Display_Page_Length="8"

TGL_OTT_Message_Display_Page_Width="36"

Lang_Default=" "

Lang_EA="E"

Lang_FR="F"

Lang_GE="G"

Lang_IT="I"

Lang_JA=" "

Lang_SP=" "

TVRights_NoRights=" 2"

TVRights_NoPayTV=" 2"

TVRights_NoAdult=" 1"

TVRights_All=" 0"

TVRights_Default=" 2"

TVRights_4=" 4"

TVRights_5=" 5"

TVRights_6=" 6"

TVRights_7=" 7"

TVRights_8=" 8"

TVRights_9=" 9"

BillViewMultiply="100"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5670"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="V8"

User="V8live"

Alias="V8"/>

</GENERAL>

</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 ConfAllowed="Y"
        Simulation="N"
        Log="Y"
        MonDetail="3"
        MonType="CHR"
        LogLength="500000"
        Required="Y"
        FktLogo="HON"
        Layer1="TCP/S"
        Port="5001"
        Param="local"
        CheckSum="LRC"
        Layer2="LLC_FDX"
        RecMaxLength="64000"
        CheckState="Y"
        DatascopeType="CHR"
        RecBuffTimeOut="2000"
        RefNum="20"
        XmlDecl="N"
        SCV_TimeRecordOffset="100"
        Lang_Default="01"
        Lang_EA="01"
        Lang_FR="02"
        Lang_GE="03"
        Lang_IT="04"
        Lang_JA="05"
        Lang_SP="06"
        Lang_NL="07"
        InLineSchema="N"
        WSNum99="PMS1"
        WSNumX="PMS1"
        LLC_ACKTimeout="2000"
        LLC_ACKValidity="2000"
        SCV_AmtPin="8"
        SCV_AmtPinComment=""
        SCV_MessageType="3"
        SCV_SendBindOnStartup="1"
        SCV_VersionMode="1"
        SCV_WakeupMode="0"
        SCV_UseUnits="2"
        SCV_ChargePosition="1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId">
  <MON
MonShowState="N"
MonType="CHR"
MonDetail="3"
LogLength="2500000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\PPV_IFC1.RTF"
MonCharSet="255"
/>
<PARSE FktLogo="PPV"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N">
  <PPV
PPV_Welcome_Display_Flag="0"
PPV_Bill_Display_Use_DC="N"
PPV_Message_Display_Page_Length="8"
PPV_Message_Display_Page_Width="36"
BillViewMultiply="1"
PPV_Use_Extended_Checkin="N"
PPV_RegNum_Length_Maginet="0"
PPV_Send_Swap_Checkin="N"
/>
  <TVRights
TVRights_NoRights=""
TVRights_NoPayTV=""
TVRights_NoAdult=""
TVRights_All=""
TVRights_Default="" />
  <Language
Lang_Default="0"
Lang_EN="0"
Lang_FR="0"
Lang_DE="0"
Lang_IT="0"
Lang_ES="0"
Lang_PT="0"
Lang_NL="0"
Lang_TR="0"
Lang_RU="0"
Lang_EL="0"
Lang_JA="0"
/>
</PARSE>
<PROT ReInit_On_ExpEnq="N"
                Layer2="LLC_BMP"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="100"
BMP_PostACKDelay="300"
BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
/>
</PROT>
  <COMM
CheckState="Y"
Layer1="COM"
Port="1"
Param="9600,N,8,1"
/>
</IFC1>
<PMS1 ConfAllowed="Y"
        Simulation="Y"
        Log="Y"
        MonDetail="3"
        MonType="CHR"
        LogLength="500000"
        Required="Y"
        FktLogo="SERV"
        IfcNum="1"
        MsqTcpPort="5500"
        MsqTcpDns="N"
        Layer1="DBS"
        Port="GlobalDbsConnect"
        Param="0"
        CheckSum="N"
        Layer2="N"
        RecMaxLength="64000"
        CheckState="Y"
        DatascopeType="CHR"
        RecBuffTimeOut="500"
        RefNum="20"
        WSNum1="IFC1"
        WSNumX="IFC1"
        XmlDecl="N">
  <MON
MonShowState="N"
MonType="CHR"
MonDetail="3"
MonCharSet="0"
LogLength="2500000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\SERV_PMS1.RTF"
/>
<PARSE FktLogo="SERV"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<PROT Layer2="LLC_SIM"
                CheckSum="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS"
                CheckState="Y"
                Port="GlobalDbsConnect"
                Param="0">
  <DBS
DbsDebugMode="N"
MsqTcpDns="N"
MsqTcpPort="5501"
/>
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="TGL_OTR"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="LRC"

Layer2="LLC_BMP"

RecMaxLength="64000"

BMP_SendEnq="0"

BMP_CheckSumPos="0"

BMP_SendLeadingZero="0"

BMP_AnswerEnqWithNAK="0"

BMP_StartRetriesWithENQ="0"

BMP_IgnoreChecksum="N"

BMP_IgnoreNAKs="N"

RecBuffTimeOut="2000"

TGL_OTR_Welcome_Display_Flag="0"

TGL_OTR_Bill_Display_Use_DC="Y"

TGL_OTR_Message_Display_Page_Length="8"

TGL_OTR_Message_Display_Page_Width="36"

Lang_Default=" "

Lang_EA="E"

Lang_FR="F"

Lang_GE="G"

Lang_IT="I"

Lang_JA=" "

Lang_SP=" "

TVRights_NoRights=" 2"

TVRights_NoPayTV=" 2"

TVRights_NoAdult=" 1"

TVRights_All=" 0"

TVRights_Default=" 2"

TVRights_4=" 4"

TVRights_5=" 5"

TVRights_6=" 6"

TVRights_7=" 7"

TVRights_8=" 8"

TVRights_9=" 9"

BillViewMultiply="100"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5633"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="V8"

User="V8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            GetPathId="PathId"
            PathIdX="PMS1"
            PathId1="PMS1"
            SetPathId1="1">
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_FDX"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="2000"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_FDX
LLC_ACKTimeOut="10000"
LLC_ENQTimeOut="3000"
LLC_ENQRetries="3"
LLC_ACKValidity="2000"
LLC_SendRetries="3"
FDX_PostACKDelay="0"
LLC_XONTimeout="10000"
/>
</PROT>
<PARSE FktLogo="TC2"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="1252"
                    CharPlaceHolder_Def="|||">
<TC2 TC2_Version="3" BillViewMultiply="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5571"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="200"
        WSNum99="PMS1"
        WSNumX="PMS1"
        GetPathId="PathId"
        PathIdX="PMS1"
        PathId1="PMS1"
        SetPathId1="1">
<COMM Layer1="COM"
                CheckState="N"
                Port="1"
                Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_FDX"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="2000"
                MaxStackCount="32"
                ReInit_On_ExpEnq="X">
  <LLC_FDX
LLC_ACKTimeOut="10000"
LLC_ENQTimeOut="2000"
LLC_ENQRetries="2"
LLC_ACKValidity="2000"
LLC_SendRetries="1"
FDX_PostACKDelay="0"
LLC_XONTimeout="10000"
/>
</PROT>
<PARSE FktLogo="TC3"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                ParseCharSet="1252"
                CharPlaceHolder_Def="|||"
                GetParseConfig="GetParseConfig">
<TC3 BillViewMultiply="1" />
  <Language
Lang_Default="EN"
Lang_EN="E"
Lang_FR="F"
Lang_DE="D"
Lang_IT="I"
Lang_ES="S"
Lang_PT="P"
Lang_NL="N"
Lang_TR="T"
Lang_RU="R"
Lang_EL="L"
Lang_JA="J"
/>
  <VIP
VIP_Default="0"
VIP_1="1"
VIP_2="2"
VIP_3="3"
VIP_4="10"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5503"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="3" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
        ErrorEMail="N"
        PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

Telecenter expects non-standard fields in the Check-In record. In order to fill then you need to setup DefRef definitions as follows:

  • DefRef1 - state code (C 3)

  • DefRef2 - country code (C 3)

  • DefRef3 - birthday (C 8 , as YYYYMMDD)

  • DefRef4 - guest contact number (C 20)

  • DefRef5 - guest contact number, business (C 20)

NOTE: The length of the fields is fixed as the protocol has no field-delimiters. Ensure a proper setup.


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum1="PMS1" WSNum2="PMS1" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId" SetPathId1="1">
<COMM CheckState="N" Layer1="COM" Port="1" Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_BSC" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="X">
<LLC_BSC LLC_MasterSlave="S" LLC_AlternatingACK="Y" LLC_ENQTimeOut="5000" LLC_ACKTimeOut="5000" LLC_DataTimeOut="5000" LLC_ENQRetries="4" BSC_SyncCharacterList="" />
</PROT>
<PARSE FktLogo="VDE" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" GetParseConfig="GetParseConfig" LA_TimeOut="3000" ParseCharSet="850" CharPlaceHolder_Def="|||">
<VDE VDE_PayTV_Charge="925" BillViewMultiply="1" />
<Language Lang_Default="ENG" Lang_EN="ENG" Lang_FR="FRE" Lang_DE="DEU" Lang_IT="ITA" Lang_ES="ESP" Lang_PT="PTG" Lang_NL="NEL" Lang_TR="TRK" Lang_RU="RUS" Lang_EL="ELI" Lang_JA="JAP" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" MonCharSet="256" />
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5503" MsqTcpDns="N" SetupIRMS="IRMS" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N" ParseCharSet="-1">
<SERV IfcNum="3" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" />
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N" PrgCaption="IFC8">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

Messagehandling:

VIS (like all Spectradynes) is not expecting the actual message text, when a new message is entered, but only a notification of the existence of a message.

This must be configured in ICFG_CMD_MSG, by setting the value to "3". (Messagelightstatus and GuestMesRequest)

Additionally set IDRV_VM_NOTIFY to "1" (Messagelightstatus). In this field you can configure, if the IFC should send a notification or a textmessage upon a voicemail event.


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="GAS_VIS"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="LRC"

Layer2="LLC_BMP"

RecMaxLength="64000"

BMP_SendEnq="0"

BMP_CheckSumPos="0"

RecBuffTimeOut="2000"

Lang_Default=" "

Lang_EA="E"

Lang_FR="F"

Lang_GE="G"

Lang_IT="I"

Lang_JA=" "

Lang_SP=" "

TVRights_NoRights="CLO"

TVRights_NoPayTV="CLO"

TVRights_NoAdult="KID"

TVRights_All="STD"

TVRights_Default=" 2"

TVRights_4=" 4"

TVRights_5=" 5"

TVRights_6=" 6"

TVRights_7=" 7"

TVRights_8=" 8"

TVRights_9=" 9"

GAS_VIS_Welcome_Display_Flag="0"

GAS_VIS_Bill_Display_Use_DC="Y"

BillViewMultiply="100"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

MsqTcpPort="5513"

MsqTcpDns="Y"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM CheckState="N" Layer1="COM" Port="1" Param="9600,N,8,1" />
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_WSW" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="500">
<LLC_WSW LLC_IgnoreChecksum="N" />
</PROT>
<PARSE Simulation="Y" FktLogo="WSW" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<WSW WSW_Charge ="925" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="3" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef ClearText="TestBuchung" Date="(Date)" GuestShareflag="N" RoomNum="101" Time="(Time)" />
</GENERAL>
</IFC8>


Specific Interface Setup

The RoomEquipment record of WSW includes both attributes: ClassofService and TvRight.

As there is no real record to block the extension will IFC send a C/O record when the user changes the rights in V8.

Both attributes can be used and will be interpreted by the interface in the same way.


Ifc8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1"
PathId1="PMS1"
SetPathId1="1">
- <COMM Layer1="COM"
CheckState="N"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PROT Layer2="LLC_BMP"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="1"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="1"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_SupportEmbeddedACK="N"
LLC_ENQRetries="-3"
/>
</PROT>
- <PARSE FktLogo="TOV"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
<TOV />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum1="PMS1" WSNum2="PMS1" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM CheckState="Y" Layer1="COM" Port="1" Param="9600,N,8,1" />
<PROT ReInit_On_ExpEnq="N" Layer2="LLC_BMP" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="500">
 <LLC_BMP
BMP_UseETXforChecksum="Y" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0" BMP_IgnoreChecksum="N" BMP_SendENQ="0" BMP_SendLeadingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="3000" LLC_ACKTimeOut="3000" LLC_ENQRetries="3" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
/>
</PROT>
<PARSE Simulation="Y" FktLogo="HXQ" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
 <HXQ
HXQ_RoomNum_Length ="4"
HXQ_CI_SendCODate ="N"
HXQ_Allow_DBSwap_Request ="Y"
HXQ_Send_NightAudit ="Y" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="128000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" SetupIRMS="IRMS" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="4" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="128000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            GetPathId="PathId"
            PathIdX="PMS1">
  <COMM
Layer1="COM"
CheckState="Y"
Port="1"
Param="9600,N,8,1"
/>
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
BMP_SupportEmbeddedACK="N"
/>
</PROT>
<PARSE FktLogo="BUT"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="850">
  <BUT
BUT_Swap_On_Restart="N"
BUT_Start_With_SwapEnd="Y"
BUT_Send_SequenceNumber="Y"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N"
/>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef DefRef0="BUT" RoomNum="101" />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1">
  <COMM
CheckState="Y"
Layer1="COM"
Port="1"
Param="9600,N,8,1"
/>
<PROT ReInit_On_ExpEnq="N"
                Layer2="LLC_BMP"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
/>
</PROT>
<PARSE Simulation="Y"
                FktLogo="ROB"
                XmlDecl="N"
                XmlPackEmptyAttr="N"
                InLineSchema="N">
<ROB ROB_Send_Restart="Y" ROB_Swap_On_Restart="N" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="255"
/>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5581"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
/>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="N"
                InLineSchema="N">
<SERV IfcNum="4" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<PARSE FktLogo="SVT"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
<SVT />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5502"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="200" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1"
PathIdX="PMS1" GetPathId="PathId" SetPathId1="1" ObjCaption="IFC1">
<PROT ReInit_On_ExpEnq="X" Layer2="LLC_BMP" CheckSum="CKS_XOR" RecMaxLength="64000"
RecBuffTimeOut="500" MaxStackCount="32">
<LLC_BMP BMP_UseETXforChecksum="Y" BMP_UseSTXforChecksum="N" BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N" BMP_SendENQ="0" BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0" BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000" LLC_ACKTimeOut="5000" LLC_ENQRetries="3"
BMP_AddDLEtoCtrlChars="N" BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N" BMP_STXSelector="0" BMP_SendTrailingZero="0"
LLC_SendRetries="3" BMP_IgnoreRecsWhileWaitForACK="N" BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N" BMP_SupportACKsInRecord="0"
BMP_MinimumLengthForChecksum="0"/>
</PROT>
<PARSE Simulation="Y" FktLogo="SCB" XmlDecl="N" XmlPackEmptyAttr="N"
InLineSchema="N" ParseCharSet="850" CharPlaceHolder_Def="|||" ReInit_On_Error="Y"
ReInit_On_LnkErr="Y" GetParseConfig="GetParseConfig" LA_TimeOut="3000">
<SCB SCB_Send_Restart="Y" SCB_Swap_On_Restart="Y" SCB_Send_SequenceNumber="Y"
SCB_SalesOutlet_Content="1" SCB_RoomNum_Length="9" DoublePostingSize="0"
CI_Time_Default="1157"/>
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="2000000" MonShowState="N"
MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255"
LogFileName=".\&lt;FktLogo&gt;_&lt;ObjName&gt;.RTF" LogFileType="RTF"
MonFontSize="S" MonRefNum="Y"/>
<PRN PrinterName="\No Printer\" PaperTray="(0) No Printer" PageSize="0"
FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="\No Printer\"
ControlChars=""/>
<COMM Layer1="TCP/S" CheckState="Y" Port="5002" Param="LOCAL">
<TCP_S SendTimeOut="0"/>
</COMM>
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1"
ObjCaption="PMS1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N"/>
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500"
ReInit_On_ExpEnq="N" MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" StxChar="2" EtxChar="3"/>
</PROT>
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="N"
InLineSchema="N" ParseCharSet="-1">
<SERV IfcNum="1" IfcCryptMeth="RsaDes3"/>
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="2000000" MonShowState="N"
MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="0"
LogFileName=".\&lt;FktLogo&gt;_&lt;ObjName&gt;.RTF" LogFileType="RTF"
MonFontSize="S" MonRefNum="Y"/>
<PRN PrinterName="\No Printer\" PaperTray="(0) No Printer" PageSize="0"
FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="\No Printer\"
ControlChars=""/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N" PrgCaption="IFC8" ServiceInst="N"
LinkAlive_TimeOutErr="0">
<GlobalDbsConnect0 Pwd="super" User="V8Live" Alias="FOV8" DbsConfig="ICFG(0)"
SetupIRMS="IRMS"/>
<SimAttrDef DefRef0="ROB" GuestShareflag="N" RoomNum="101" SwapFlag="N"
ClassofService="1" TotalAmount="20000" CheckNum="12345678" PostType="T"
SalesOutlet="1" ClearText="ClearText_Value" MinibarArticle="12" Date="(Date)"
Time="(Time)" RequestType="0" GuestName="Koehler" GuestFormattedname="Koehler,
Andreas" GuestArrival="140204" GuestDeparture="140205" AnswerStat="OK"
Cryptogram="12345678"/>
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1"
        GetPathId="PathId"
        PathIdX="PMS1">
<COMM Layer1="COM"
                CheckState="N"
                Port="1"
                Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_NCS"
                CheckSum="CKS_NCS"
                RecMaxLength="64000"
                RecBuffTimeOut="2000"
                MaxStackCount="32"
                ReInit_On_ExpEnq="X">
  <LLC_NCS
LLC_ACKTimeOut="5000"
LLC_ENQTimeOut="60000"
LLC_ENQRetries="-1"
LLC_SendRetries="3"
/>
</PROT>
<PARSE FktLogo="NCS"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                GetParseConfig="GetParseConfig"
                LA_TimeOut="3000"
                ParseCharSet="850"
                CharPlaceHolder_Def="|||">
  <NCS
NCS_KidAccounts="0"
DoublePostingSize="1"
DoublePostingType="ProtRec"
DoublePostingFixAttr=""
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
        ErrorEMail="N"
        PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum1="PMS1"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1"
        ObjCaption="IFC1">
<COMM Layer1="COM"
                Port="1"
                Param="9600,N,8,1"
                CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PARSE Simulation="Y"
                FktLogo="YAV"
                XmlDecl="N"
                XmlPackEmptyAttr="N"
                InLineSchema="N"
                GetParseConfig="GetParseConfig"
                ParseCharSet="850"
                CharPlaceHolder_Def="|||"
                LA_TimeOut="3000">
<YAV YAV_CheckNoPostFlag="N" DoublePostingSize="0" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="255"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
LogFileType="RTF"
MonFontSize="S"
MonRefNum="Y"
/>
<PRN PrinterName="\No Printer\" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="\No Printer\" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="\No Printer\" ControlChars="" />
<PROT Layer2="LLC_BSC"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="N">
  <LLC_BSC
LLC_MasterSlave="S"
LLC_AlternatingACK="Y"
LLC_ENQTimeOut="3000"
LLC_ACKTimeOut="5000"
LLC_DataTimeOut="10000"
LLC_ENQRetries="5"
BSC_SyncCharacterList=""
/>
</PROT>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1"
        ObjCaption="PMS1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5507"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="N"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="7" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
LogFileType="RTF"
MonFontSize="S"
MonRefNum="Y"
/>
<PRN PrinterName="\No Printer\" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="\No Printer\" ControlChars="" />
</PMS1>
<GENERAL ConfAllowed="Y"
        ErrorEMail="N"
        PrgCaption="IFC8"
        ServiceInst="N">
  <GlobalDbsConnect0
Pwd="super"
User="V8Live"
Alias="FOV8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef DefRef0="YAL" />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum2="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
  <COMM
CheckState="Y"
Layer1="COM"
Port="1"
Param="9600,N,8,1"
/>
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="8000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="4"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_STXSelector="0"
BMP_SupportEmbeddedACK="N"
/>
</PROT>
<PARSE FktLogo="DIB"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N">
  <DIB
EFT_RequestTimeout="80%"
SingleThread="Y"
DIB_AR_PresentFlag="N"
DIB_Auth_DepartureDate="N"
DIB_TerminalID_Selector="0"
DIB_TerminalID_Default="0"
DIB_TerminalID_AR="0"
DIB_TerminalID_CN="0"
DIB_TerminalID_DP="0"
DIB_TerminalID_OT="0"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="255"
/>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32"
/>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<PARSE FktLogo="BOC"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
  <BOC
EFT_RequestTimeout="80%"
BOC_NegativeAmounts="1"
BOC_AnswerLanguage="1"
BOC_DebitCards="D1,
D2"
SingleThread="Y"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PROT Layer2="LLC_BLK"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="N"
BLK_SendStartCharacter="2"
BLK_SendStopCharacter="4"
BLK_ReceiveStartCharacter="3"
BLK_ReceiveStopCharacter="4"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="N"
/>
</PROT>
  <COMM
Layer1="TCP/C"
CheckState="Y"
Port="5002"
Param="LOCAL"
/>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32"
/>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="N"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="4" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

The Bank-of-China interface is connecting to multiple- BOC-Clients via TCP/IP.

It is not necessary to install IFC8 on every workstation. Simple add the necessary amount of IFC-Objects and configure the workstations accordingly. (WsNum)


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
        GetPathId="PathId"
        PathIdX="PMS1"
        RefNum="20"
        PathId1="PMS1"
        SetPathId1="1">
<PRN PrinterName="(1) \\Dc-ambassador\HP LaserJet 4200 PCL 6" PaperTray="(15) Automatically Select" PageSize="0" />
  <MON
MonShowState="N"
MonType="CHR"
MonDetail="3"
LogLength="2000000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PARSE FktLogo="CAX"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                ParseCharSet="-1"
                CharPlaceHolder_Def="|||">
  <CAX
EFT_RequestTimeout="80%"
CAX_PosId="1"
CurrencyCode="756"
ReceiptPrn="C|N"
ReceiptMask="Y"
AuthFilter="??"
AID_A000000025010104="AX"
AID_A0000000041010="EC"
AID_A0000000043060="MA"
AID_A0000000101030="??"
AID_A0000000031010="VA"
AID_A0000000032010="??"
AID_A0000000651010="??"
AID_A0000001110101="PO"
AID_A0000001884443="DI"
SingleThread="Y"
AID_A0000001570051="PO"
AID_A0000001574443="DI"
AID_A0000001570104="MY"
AID_A0000001570021="MA"
AID_A0000001570020="EC"
AID_A0000001570050="PO"
AID_A0000001570030="VA"
AID_A0000001570010="AX"
AID_A0000001570022="MA"
/>
</PARSE>
  <PROT
Layer2="LLC_CAX"
CheckSum="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X"
/>
  <COMM
Layer1="TCP/C"
CheckState="Y"
Port="1550"
Param="LOCAL"
/>
</IFC1>
<PMS1 Required="Y"
        WSNumX="IFC1"
        RefNum="20"
        WSNumPC-0002="IFC2"
        WSNumPC-0006="IFC1">
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
  <MON
MonShowState="N"
MonType="CHR"
MonDetail="3"
MonCharSet="256"
LogLength="2000000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PARSE FktLogo="SERV"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="7" />
</PARSE>
<PROT Layer2="LLC_SIM"
                CheckSum="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="X">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS"
                CheckState="Y"
                Port="GlobalDbsConnect"
                Param="0">
  <DBS
DbsDebugMode="N"
MsqTcpDns="N"
MsqTcpPort="5454"
/>
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y"
        PrgCaption="IFC8"
        ErrorEMail="N">
  <GlobalDbsConnect0
DbsConfig="ICFG(0)"
User="V8Live"
Alias="V8"
Pwd="Live"
/>
<SimAttrDef />
</GENERAL>
<IFC2 Required="N"
        GetPathId="PathId"
        PathIdX="PMS1"
        RefNum="20">
<PRN PrinterName="(1) \\Dc-ambassador\HP LaserJet 4200 PCL 6" PaperTray="(15) Automatically Select" PageSize="0" />
  <MON
MonShowState="N"
MonType="CHR"
MonDetail="3"
LogLength="2000000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PARSE FktLogo="CAX"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                ParseCharSet="-1"
                CharPlaceHolder_Def="|||">
  <CAX
EFT_RequestTimeout="80%"
CAX_PosId="2"
CurrencyCode="756"
ReceiptPrn="C|N"
ReceiptMask="Y"
AuthFilter="??"
AID_A000000025010104="AX"
AID_A0000000041010="EC"
AID_A0000000043060="MA"
AID_A0000000101030="??"
AID_A0000000031010="VA"
AID_A0000000032010="??"
AID_A0000000651010="??"
AID_A0000001110101="PO"
AID_A0000001884443="DI"
AID_A0000001570051="PO"
AID_A0000001574443="DI"
AID_A0000001570104="MY"
AID_A0000001570021="MA"
AID_A0000001570020="EC"
AID_A0000001570050="PO"
AID_A0000001570030="VA"
AID_A0000001570010="AX"
AID_A0000001570022="MA"
SingleThread="Y"
/>
</PARSE>
  <PROT
Layer2="LLC_CAX"
CheckSum="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X"
/>
  <COMM
Layer1="TCP/C"
CheckState="Y"
Port="1550"
Param="LOCAL"
/>
</IFC2>
</IFC8>


Specific Interface Setup

Understanding C.A.R.U.S. cCredit:

cCredit is a "Chip & PIN" based system.

This means that with cCredit it is not any more necessary to install creditcard swipers on the FO-PCs.

(Chip & PIN functionality has been added in V8 as of version 8.6.1.1)

As of today (11/2006) this driver will ONLY work on Suite8.

Global logic:

cCredit supports all kind of cards:

Standard Credit Cards - and local Debit cards.

However: Please note that only Creditcards can be used for separated authorizations. Debit cards need to be setup as PayOnly.

Subsequently Debit cards can not be added to s reservation until they are actually used for a payment.

DCC:

Carus supports DCC on their terminals. Upon a successful DCC transaction additional data will be send as part of the printed receipt.

On the Suite8 or IFC8 side there is no logic for DCC whatsoever.

CARUS:

The CARUS system needs to setup with protocol = "CXI".

IFC communicates as TCP-Client using port 1550 (default, but changeable on the CARUS side, if necessary)

Note: ALL IFC-Objects connect to the same port on the CARUS system.

Setup of the interface:

1.

Various items need to be configured:

CAX_PosId is the terminal number from the CARUS system. Please get this value from the CARUS technician.

CurrencyCode is the code for the currency of the country where the Hotel is located. (e.g. 756 for CHF in Switzerland or 978 for EURO in Germany) Note: IFC reads the regional settings to suggest the most probably currency during the installation.

ReceiptPrn - always leave on "C|N" - IFC8 prints the payment receipts as it receives them from CARUS. these are NOT stored at any place. There is no way of reprint them from IFC8 or Fidelio, if the printing fails in the first try. For storage and/or reprint please refer to your local CARUS dealer. (This may differ from country to country).

There is no plan to change this behavior in Suite8. We can not store sensitive EFT data where we do not know where in the receipt sensitive data may be found. Subsequently we can not properly crypt mask the data and have decided not to store it at all.

ReceiptMask Definition if only the merchant receipt of the client receipt should be masked.

AuthFilter - not currently used, because V6/7/OPERA are not currently supported for this driver (This featue can be used to define payment methods were dummy athorizations will be granted from IFC8 internally, for e.g. EC-CARDs)

AID_?????? CARUS identifies CardTypes not by a two character value as Fidelio does, but uses the AID_IDs. These are non changeable values. All the card-types which are hardcoded and which are available in all countries have been added to the CAX-configuration by IFC8 as hardcoded values.

These are setup with "??" as value. All applicable values need to be filed with the value as they are configured in the PMS:

Example for a Creditcard:

The IFC-Creditcard Type has been set to "VA", so the respective AID from CARUS needs to be translated to VA in the config.Xml so that V8 can select the correct paymentmethod.

Debit cards:

Remember that Debit cards don't normally support authorizations, so a separate authorization rule needs to be added for the Debit cards.

The valid AIDs can be found in the IFC-logfile after the first valid connection to CARUS:

<cpos:AppData>

<cpos:AID>A0000001574443</cpos:AID>

<cpos:AppLabel>DINERS CLUB</cpos:AppLabel>

</cpos:AppData>

<cpos:AppData>

<cpos:AID>A0000001570104</cpos:AID>

<cpos:AppLabel>MyOne</cpos:AppLabel>

</cpos:AppData>

<cpos:AppData>

<cpos:AID>A0000000041010</cpos:AID>

<cpos:AppLabel>MASTERCARD</cpos:AppLabel>

</cpos:AppData>

<cpos:AppData>

<cpos:AID>A0000001570022</cpos:AID>

<cpos:AppLabel>Maestro-CH</cpos:AppLabel>

</cpos:AppData>

NOTE: The values are different depending on the connected bank on the country where you install etc.

SingleThread="Y" Do NOT change !!! CARUS terminals are (logically) single threaded.

2.

In order to print the receipts from CARUS you need to install printers into each of the defined IFC-objects:

The value for the PrinterName is provided in a dropdownbox. You need to 'Apply' the printer before the values in PaperTray are available for choice.

3.

Add a line for every FO-PC which should be using the EFT-terminals.

Multiple PCs can be linked to one IFC-object. IFC8 will decide if a requests will be queued and executed or wil be rejected based on the amount of active requests and the respective timeouts. (e.g. IFC will place a request into the queue, if it comes in with 90 seconds timeout left, but will remove it and send a denial back to the PMS after e.g. 40 more seconds where the request was sitting in the queue because the device is still busy with another request.)


Communication Verification

Messages used with the Micros Fidelio Interface (CAX) based on the specification document cCredit XML POS Interface V.1.7.0 March 2005

"*** MASKED-DATA ***" is a placeholder for sensitive data in the following, and is of course not the true transferred data.

1. initialisation on ifc startup = posactntf

sent by IFC:

<?xml version="1.0"?>

<cpos:message msgnum="1" xmlns:cpos="http://www.carus-it.com/cpos">

<cpos:posactntf>

<cpos:POSID>1</cpos:POSID>

</cpos:posactntf>

</cpos:message>

2. posactntf response by Telekurs = posactack

(Carus provides all configured payment methods in this record. IFC8 uses this to update the config.Xml so that the IFC-installer only needs to link the PMS-Payment Types against this.

<?xml version="1.0" encoding="UTF-8"?>

<cpos:message xmlns:cpos="http://www.carus-it.com/cpos" msgnum="1">

<cpos:posactack>

<cpos:POSID>1</cpos:POSID>

<cpos:ActDate>050607</cpos:ActDate>

<cpos:ActTime>1241</cpos:ActTime>

<cpos:ActSeqCnt>5</cpos:ActSeqCnt>

<cpos:SetAID>

<cpos:AppData>

<cpos:AID>A0000000031010</cpos:AID>

<cpos:AppLabel>VISA</cpos:AppLabel>

</cpos:AppData>

<cpos:AppData>

<cpos:AID>A0000001570020</cpos:AID>

<cpos:AppLabel>MasterCard</cpos:AppLabel>

</cpos:AppData>

<cpos:AppData>

<cpos:AID>A0000001570021</cpos:AID>

<cpos:AppLabel>Maestro</cpos:AppLabel>

</cpos:AppData>

<cpos:AppData>

<cpos:AID>A0000001570030</cpos:AID>

<cpos:AppLabel>VISA</cpos:AppLabel>

</cpos:AppData>

<cpos:AppData>

<cpos:AID>A0000000041010</cpos:AID>

<cpos:AppLabel>MasterCard</cpos:AppLabel>

</cpos:AppData>

<cpos:AppData>

<cpos:AID>A0000001570051</cpos:AID>

<cpos:AppLabel>Postcard</cpos:AppLabel>

</cpos:AppData>

<cpos:AppData>

<cpos:AID>A0000001570022</cpos:AID>

<cpos:AppLabel>Maestro-CH</cpos:AppLabel>

</cpos:AppData>

<cpos:AppData>

<cpos:AID>A0000000043060</cpos:AID>

<cpos:AppLabel>Maestro</cpos:AppLabel>

</cpos:AppData>

<cpos:AppData>

<cpos:AID>A0000001110101</cpos:AID>

<cpos:AppLabel>Postcard</cpos:AppLabel>

</cpos:AppData>

<cpos:AppData>

<cpos:AID>A0000001570050</cpos:AID>

<cpos:AppLabel>Postcard</cpos:AppLabel>

</cpos:AppData>

<cpos:AppData>

<cpos:AID>A0000001110201</cpos:AID>

<cpos:AppLabel>Postcard</cpos:AppLabel>

</cpos:AppData>

<cpos:AppData>

<cpos:AID>A0000000032010</cpos:AID>

<cpos:AppLabel>VISA ELECTRON</cpos:AppLabel>

</cpos:AppData>

</cpos:SetAID>

<cpos:RctCont>* Terminal Activation *&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;05.06.2007 12:36:02&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Trm-Id: 10500092&amp;lt;br/&amp;gt;Act-Id: 4</cpos:RctCont>

<cpos:RctType>4</cpos:RctType>

</cpos:posactack>

</cpos:message>

3. MF CpAuthorSchema_O authorisation request = processtrxreq TrxType>50

<?xml version="1.0"?>

<cpos:message msgnum="2" xmlns:cpos="http://www.carus-it.com/cpos">

<cpos:processtrxreq>

<cpos:POSID>1</cpos:POSID>

<cpos:TrxAmtCurr>756</cpos:TrxAmtCurr>

<cpos:PrnStatus>1</cpos:PrnStatus>

<cpos:POSTrxSeqCnt>3254</cpos:POSTrxSeqCnt>

<cpos:UserID>OS.INT.211897865</cpos:UserID>

<cpos:TrxType>50</cpos:TrxType>

<cpos:TrxAmt>5000</cpos:TrxAmt>

<cpos:TrxType>50</cpos:TrxType>

<cpos:PAN>4950XXXXXXX41692</cpos:PAN>

<cpos:ExpDate>0709</cpos:ExpDate>

<cpos:EntryMode>01</cpos:EntryMode>

</cpos:processtrxreq>

</cpos:message>

4. response message from Telekurs on processtrxreq message = trxstatusntf

<?xml version="1.0"?>

<cpos:message msgnum="3" xmlns:cpos="http://www.carus-it.com/cpos">

<cpos:trxstatusntf>

<cpos:POSID>1</cpos:POSID>

<cpos:POSTrxSeqCnt>3254</cpos:POSTrxSeqCnt>

<cpos:TrxStatus>70</cpos:TrxStatus>

<cpos:TrxStatusText>Processing</cpos:TrxStatusText>

</cpos:trxstatusntf>

</cpos:message>

5. response message from Telekurs on processtrxreq message for answer status on the authorisation = processtrxresp

<?xml version="1.0"?>

<cpos:message msgnum="2" xmlns:cpos="http://www.carus-it.com/cpos">

<cpos:processtrxresp>

<cpos:POSID>1</cpos:POSID>

<cpos:POSTrxSeqCnt>3254</cpos:POSTrxSeqCnt>

<cpos:AmtAuth>5000</cpos:AmtAuth>

<cpos:ExpDate>0709</cpos:ExpDate>

<cpos:PAN>4950XXXXXXX41692</cpos:PAN>

<cpos:AppLabel>VISA</cpos:AppLabel>

<cpos:AID>A0000001570030</cpos:AID>

<cpos:AuthResult>0</cpos:AuthResult>

<cpos:AuthCode>018674</cpos:AuthCode>

<cpos:AcqReturnCode>00</cpos:AcqReturnCode>

<cpos:ClientAckTo>30</cpos:ClientAckTo>

<cpos:ProtTrxRef>1640346</cpos:ProtTrxRef>

<cpos:EntryMode>01</cpos:EntryMode>

<cpos:RctCont>*** MASKED-DATA ***</cpos:RctCont>

<cpos:CardholderRct>*** MASKED-DATA ***</cpos:CardholderRct>

<cpos:Signature>0</cpos:Signature>

<cpos:TrmID>10500092</cpos:TrmID>

<cpos:TrxDate>050607</cpos:TrxDate>

<cpos:TrxTime>1242</cpos:TrxTime>

<cpos:TrxNum>6</cpos:TrxNum>

<cpos:MerchantId>JERDCC000000001</cpos:MerchantId>

<cpos:ReplyText>Transaction OK</cpos:ReplyText>

<cpos:Protocol>00</cpos:Protocol>

<cpos:PaymentProc>1</cpos:PaymentProc>

<cpos:RctDetails>

<cpos:EP2TrxSeqCnt>63616</cpos:EP2TrxSeqCnt>

<cpos:EP2PosEntryMode>01</cpos:EP2PosEntryMode>

</cpos:RctDetails>

</cpos:processtrxresp>

</cpos:message>

6. commit message from ifc on processtrxresp message = commitntf

<?xml version="1.0"?>

<cpos:message msgnum="3" xmlns:cpos="http://www.carus-it.com/cpos">

<cpos:commitntf>

<cpos:POSID>1</cpos:POSID>

<cpos:POSTrxSeqCnt>3254</cpos:POSTrxSeqCnt>

<cpos:POSTrxResult>1</cpos:POSTrxResult>

</cpos:commitntf>

</cpos:message>

7. CpSettlSchema_O record sent by ifc for settlement of amount : CpSettlSchema_O = processtrxreq TrxType>01

<?xml version="1.0"?>

<cpos:message msgnum="6" xmlns:cpos="http://www.carus-it.com/cpos">

<cpos:processtrxreq>

<cpos:POSID>1</cpos:POSID>

<cpos:TrxAmtCurr>756</cpos:TrxAmtCurr>

<cpos:PrnStatus>1</cpos:PrnStatus>

<cpos:POSTrxSeqCnt>3256</cpos:POSTrxSeqCnt>

<cpos:UserID>OS.INT.211897865</cpos:UserID>

<cpos:TrxAmt>6000</cpos:TrxAmt>

<cpos:OrigReservAmt>6000</cpos:OrigReservAmt>

<cpos:PAN>4950XXXXXXX41692</cpos:PAN>

<cpos:ExpDate>0709</cpos:ExpDate>

<cpos:EntryMode>01</cpos:EntryMode>

<cpos:TrxType>01</cpos:TrxType>

<cpos:ProtTrxRef>1640346</cpos:ProtTrxRef>

</cpos:processtrxreq>

</cpos:message>

8. response message from Telekurs for settlement request = processtrxresp

<?xml version="1.0"?>

<cpos:message msgnum="6" xmlns:cpos="http://www.carus-it.com/cpos">

<cpos:processtrxresp>

<cpos:POSID>1</cpos:POSID>

<cpos:POSTrxSeqCnt>3256</cpos:POSTrxSeqCnt>

<cpos:AmtAuth>6000</cpos:AmtAuth>

<cpos:ExpDate>0709</cpos:ExpDate>

<cpos:PAN>4950XXXXXXX41692</cpos:PAN>

<cpos:AppLabel>VISA</cpos:AppLabel>

<cpos:AID>A0000001570030</cpos:AID>

<cpos:AuthResult>0</cpos:AuthResult>

<cpos:AuthCode/>

<cpos:AcqReturnCode>Y1</cpos:AcqReturnCode>

<cpos:ClientAckTo>30</cpos:ClientAckTo>

<cpos:ProtTrxRef>1640346</cpos:ProtTrxRef>

<cpos:EntryMode>01</cpos:EntryMode>

<cpos:DCCDetails>

<cpos:TrxAmt>3984</cpos:TrxAmt>

<cpos:TrxAmtCurr>978</cpos:TrxAmtCurr>

<cpos:ExchngRate>6640</cpos:ExchngRate>

</cpos:DCCDetails>

<cpos:RctCont>*** MASKED-DATA ***</cpos:RctCont>

<cpos:CardholderRct>*** MASKED-DATA ***</cpos:CardholderRct>

<cpos:Signature>1</cpos:Signature>

<cpos:TrmID>10500092</cpos:TrmID>

<cpos:TrxDate>050607</cpos:TrxDate>

<cpos:TrxTime>1248</cpos:TrxTime>

<cpos:TrxNum>8</cpos:TrxNum>

<cpos:MerchantId>JERDCC000000001</cpos:MerchantId>

<cpos:ReplyText>Transaction OK</cpos:ReplyText>

<cpos:Protocol>00</cpos:Protocol>

<cpos:PaymentProc>0</cpos:PaymentProc>

<cpos:RctDetails>

<cpos:EP2TrxSeqCnt>63618</cpos:EP2TrxSeqCnt>

<cpos:EP2PosEntryMode>01</cpos:EP2PosEntryMode>

</cpos:RctDetails>

</cpos:processtrxresp>

</cpos:message>

9. commit record sent by ifc on the response messages processtrxresp = commitntf

<?xml version="1.0"?>

<cpos:message msgnum="7" xmlns:cpos="http://www.carus-it.com/cpos">

<cpos:commitntf>

<cpos:POSID>1</cpos:POSID>

<cpos:POSTrxSeqCnt>3256</cpos:POSTrxSeqCnt>

<cpos:POSTrxResult>1</cpos:POSTrxResult>

</cpos:commitntf>

</cpos:message>

10. record sent by ifc upon closing connection = posdeactntf

<?xml version="1.0"?>

<cpos:message msgnum="14" xmlns:cpos="http://www.carus-it.com/cpos">

<cpos:posdeactntf>

<cpos:POSID>1</cpos:POSID>

</cpos:posdeactntf>

</cpos:message>

11. response record from telekurs on posdeactntf message = posdeactack

<?xml version="1.0"?>

<cpos:message msgnum="14" xmlns:cpos="http://www.carus-it.com/cpos">

<cpos:posdeactack>

<cpos:POSID>1</cpos:POSID>

<cpos:DeactDate>050607</cpos:DeactDate>

<cpos:DeactTime>1302</cpos:DeactTime>

<cpos:RctCont>*** MASKED-DATA ***</cpos:RctCont>

<cpos:RctType>5</cpos:RctType>

<cpos:SetTRMBal>

<cpos:TRMBalData>

<cpos:AID>A0000000041010</cpos:AID>

<cpos:TrxCurrC>756</cpos:TrxCurrC>

<cpos:AmtPOSBal>3000</cpos:AmtPOSBal>

</cpos:TRMBalData>

<cpos:TRMBalData>

<cpos:AID>A0000001570020</cpos:AID>

<cpos:TrxCurrC>756</cpos:TrxCurrC>

<cpos:AmtPOSBal>2500</cpos:AmtPOSBal>

</cpos:TRMBalData>

<cpos:TRMBalData>

<cpos:AID>A0000001570030</cpos:AID>

<cpos:TrxCurrC>756</cpos:TrxCurrC>

<cpos:AmtPOSBal>6000</cpos:AmtPOSBal>

</cpos:TRMBalData>

</cpos:SetTRMBal>

</cpos:posdeactack>

</cpos:message>

then link is closed

12. Night audit start notification from ifc: :dayclosingreq

<?xml version="1.0"?>

<cpos:message msgnum="19" xmlns:cpos="http://www.carus-it.com/cpos">

<cpos:dayclosingreq>

<cpos:POSID>1</cpos:POSID>

</cpos:dayclosingreq>

</cpos:message>

13. response from telekurs on night audit start notification:

<?xml version="1.0"?>

<cpos:message msgnum="19" xmlns:cpos="http://www.carus-it.com/cpos">

<cpos:dayclosingresp>

<cpos:POSID>1</cpos:POSID>

<cpos:ClsDate>20070605</cpos:ClsDate>

<cpos:ClsTime>163804</cpos:ClsTime>

<cpos:PrevClosingDate>20070605</cpos:PrevClosingDate>

<cpos:PrevClosingTime>163804</cpos:PrevClosingTime>

<cpos:RctCont>*** MASKED-DATA ***</cpos:RctCont>

<cpos:SetTRMBal>

<cpos:TRMBalData>

<cpos:AID>A0000001570030</cpos:AID>

<cpos:AppLabel>VISA</cpos:AppLabel>

<cpos:TrxCurrC>756</cpos:TrxCurrC>

<cpos:AmtPOSBal>10500</cpos:AmtPOSBal>

</cpos:TRMBalData>

<cpos:TRMBalData>

<cpos:AID>A0000000031010</cpos:AID>

<cpos:AppLabel>VISA</cpos:AppLabel>

<cpos:TrxCurrC>756</cpos:TrxCurrC>

<cpos:AmtPOSBal>15000</cpos:AmtPOSBal>

</cpos:TRMBalData>

<cpos:TRMBalData>

<cpos:AID>A0000001570020</cpos:AID>

<cpos:AppLabel>MasterCard</cpos:AppLabel>

<cpos:TrxCurrC>756</cpos:TrxCurrC>

<cpos:AmtPOSBal>25135</cpos:AmtPOSBal>

</cpos:TRMBalData>

<cpos:TRMBalData>

<cpos:AID>A0000000041010</cpos:AID>

<cpos:AppLabel>MasterCard</cpos:AppLabel>

<cpos:TrxCurrC>756</cpos:TrxCurrC>

<cpos:AmtPOSBal>7035</cpos:AmtPOSBal>

</cpos:TRMBalData>

</cpos:SetTRMBal>

</cpos:dayclosingresp>

</cpos:message>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1">
<COMM Layer1="COM"
                CheckState="N"
                Port="1"
                Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="N"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" />
</PROT>
<PARSE FktLogo="CKL"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                ParseCharSet="850"
                CharPlaceHolder_Def="|||">
  <CKL
EFT_RequestTimeout="80%"
CKL_PollingTimeout="3000"
SingleThread="Y"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="5" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="slive"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

Specific Interface Setup (CNA)

No specific setup necessary, this IFC is based on FIAS.

-> Do not forget to set the timeout in the XML.


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum1="PMS1" WSNum2="PMS1" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId" SetPathId1="1">
<COMM CheckState="N" Layer1="COM" Port="1" Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_FDX" CheckSum="CKS_XOR" RecMaxLength="64000" RecBuffTimeOut="4000" MaxStackCount="32" ReInit_On_ExpEnq="X">
<LLC_FDX LLC_ACKTimeOut="4000" LLC_ENQTimeOut="4000" LLC_ENQRetries="3" LLC_ACKValidity="4000" LLC_SendRetries="3" FDX_PostACKDelay="0" LLC_XONTimeout="10000" />
</PROT>
<PARSE FktLogo="GDA" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" ParseCharSet="850" CharPlaceHolder_Def="|||">
<GDA EFT_RequestTimeout="80%" GDA_TopupAuth_Record="N" GDA_MerchantID_Default="1" GDA_EncoderID_Default="1" SingleThread="Y" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" MonCharSet="256" />
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" SetupIRMS="IRMS" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N" ParseCharSet="-1">
<SERV IfcNum="6" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" />
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N" PrgCaption="IFC8">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<PARSE FktLogo="MNC"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ReInit_On_LnkErr="N"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
<MNC EFT_RequestTimeout="80%" SingleThread="Y">
<CardTypes MNC_FileID_1="AX" MNC_FileID_Default="AX" />
<CardUsages
MNC_UsageMethod_1="101"
MNC_UsageMethod_48="148"
MNC_UsageMethod_49="149"
MNC_UsageMethod_50="150"
MNC_UsageMethod_Default="99"
/>
</MNC>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(4) Lexware PDF-Export 3" PaperTray="(15) Standardbehälter" PageSize="0" PrinterName_SAM="(4) Lexware PDF-Export 3" PrinterName_ARAGON="(0) Use default Printer definition" PaperTray_SAM="(15) Standardbehälter" PageSize_SAM="0" />
<PROT Layer2="LLC_MNS"
                    CheckSum="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
<LLC_MNS MNS_POS_Interface_ID="20505" />
</PROT>
  <COMM
Layer1="TCP/NC"
CheckState="Y"
Port="7777"
Param="LOCAL"
ConnectHoldTime="10000"
/>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5506"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="6" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" PrinterName_ARAGON="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific interface setup

The minimum IFC8 version for this driver is 8.7.2.0

NOTE: If MFG IFC will be installed with SSLGateway V5 maximum IFC8 version 8.8.1.3 must be used. Higher IFC8 versions are not working.

reason is EXPY Date crypting changes in IFC8.8.1.4 version (see release notes).

The MFG driver is the successor of the CCB (FIAS) and MFG (OPERA-HTTP) drivers and will gradually replace both of them.

The communication runs via TCP/IP, where IFC8 acts as TCP-server. All sensitive data is encrypted, the exchange of the keys is done dynamically by both applications and does not require any interaction from the installer.

Functionality:

The driver supports both swiped and Chip&PIN transactions.

The connection between the MPG and IFC8 is secured through an extra authorization key. This key is generated on the MPG side and needs to be added to the IFC8 configuration manually:

The value from the MPG will be passed to the installer in Base64 format, IFC8 will automatically encrypt it again after it has been added to the configuration.

Note: This value will NOT be used to encrypt any communication or any sensitive data. It is ONLY used to authenticate MPG and IFC8 for each other.

No further configuration needs to be done in the interface, aside of optional printing of receipts. Please see the respective documentation for printing of IFC8 or Suite8/OPERA.


Adding AuthKeys

IFC8 – XML_MFG: add the MPG Auth key to IFC8 Config.xml

Quick Doc on how to add the MPG Auth key into the IFC8 IFC config.xml

Open the MPG SSL Gateway configuration:

"Key": This is the AuthKey, which MPG provides (Note: the key will change on each and every installation)

This key needs to be entered into the ifc8 config.xml within the XML_MFG FKT Logo setup.

To enter the value into IFC8 do the following:

Take the string: FidCrypt0S| (0='zero') and combine it with the above value (in this example: o04qqOu+jbXDlg96BL2rHTIcJ6SwwcH7) and add the value to each other. The result should look like:

FidCrypt0S|o04qqOu+jbXDlg96BL2rHTIcJ6SwwcH7

Copy the string (like) FidCrypt0S|o04qqOu+jbXDlg96BL2rHTIcJ6SwwcH7 and paste it into the IfcAuthKey Parameter value field of the XML_MFG application layer menu.

then press OK and Apply

IFC8 will now store the key and will display as:

FidCryptDB|eDrMnnw0Yl7rozBEXTsrWAKkO/8huB7d

Now save the config.xml

On IFC8 restart the key is ok when the LinkPMSConf does look like below:

If key is not ok, then the following will be displayed


Specific Interface Setup

The Manison (NETS) system cannot support Top-Up authorizations. (January 2008)

Support for Top-Ups has been added with version 1.05 of the Manisson system in February 2011.

The corresponding changes have been added in IFC8 version 8.7.2.19 :

New config parameter: MNS_ProtocolVersion

Possible values: 0 = V1.03 (default)

1 = V1.05 (with top-up auth)


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1">
<PARSE FktLogo="MNS"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                GetParseConfig="GetParseConfig"
                ReInit_On_LnkErr="Y"
                ParseCharSet="850"
                CharPlaceHolder_Def="|||">
<MNS EFT_RequestTimeout="80%" SingleThread="Y" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(1) PDFCreator" PaperTray="1" PageSize="0" PrinterName_SAM="(1) PDFCreator" PrinterName_ARAGON="(0) Use default Printer definition" PaperTray_SAM="1" PageSize_SAM="0" />
<PROT Layer2="LLC_MNS"
                CheckSum="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="X">
<LLC_MNS />
</PROT>
  <COMM
Layer1="TCP/NC"
CheckState="Y"
Port="7777"
Param="LOCAL"
ConnectHoldTime="3000"
/>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5506"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="6" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" PrinterName_ARAGON="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
        ErrorEMail="N"
        PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup (OGO)

No specific setup necessary, this IFC is based on FIAS.

-> Do not forget to set the timeout in the XML.


Details

This Interface is based on FIAS.

V6/V7 Part-Number: 5006 - 025

Current status: Not released !

FKT_LOGO: FEX


Features

The following features are supported by the interface

EFT Retail Logic / FEXCO

The Retail Logic / FEXCO interface provides a means of transferring authorization and settlement information to the Fexco system.

Supported features:

  • Usage Choice (Not for Debit/Credit decision, but for DCC decision)

  • Authorization

  • Settlement (ON-Line)

  • Dynamic Currency Conversion (only with IFC8)

Disclaimer: This information may not reflect the latest program version and may be updated without notice.


Hardware requirements and Setup

  • This IFC communicates via TCP.

  • IFC7 sends all commands to IFC8-Server locally (via TCP)

  • Each FO Workstation must be running Win 2000 or WindowsXP professional as on each designated workstation an IFC8 client is installed.


Front Office (V6) Setup for Dynamic Currency Conversion.htm

Front Office (V6) Setup for Dynamic Currency Conversion

As first and most important point it needs to be understood, that no information about any DCC is passed on to the PMS for storage at any time.

FO will send the standard Usage-Choice/Authorization/Settlement commands to IFC_ACT.DBF for processing.

IFC7 will pick up these commands and send them on to IFC8-Server.

IFC8 will identify the P_STATION (Field WS from FIAS) and send the command on to the IFC8-Client running on the workstation, where the command originated.

Should the command come from a workstation, where no IFC-Client is running, then the IFC8-Server will use it's own (default) connection to Retail Logic to send the request.

IFC8 can handle up to 256 clients simultaneously, however a maximum of 15 is recommended.

Flow of data:

  1. FO sends "Usage Choice"

    • IFC passes to IFC8-Server

    • IFC8-Server passes to IFC8 client (if available)

    • IFC8-client sends to Retail Logic (configured in TCP server mode with multi-connect possibility.)

    • Retail Logic / FEXCO identifies the card as either local card or foreign card.

    • Retail Logic / FEXCO returns info to IFC8-Client.

Now two scenarios can happen:

A. Foreign card, DCC available:

    • Retail Logic / FEXCO sends "DCC=Yes" and the foreign currency as well as the conversion rate.

    • IFC8-Client will pickup this information and display a Pop-Up box showing the exchange information asking for input (Y/N) if the guest would like to have his/her credit card charged in the guest's currency.

    • The FO user presses "YES" or "NO" depending on the guest's decision. If there is no input with a definable timeout (default=10 secs), IFC8-Client will default to "NO".

    • IFC8-Client returns the choice of the user to Retail Logic / FEXCO and then sends the usage-choice answer back to IFC8-Server, which passes on to IFC7.

B. Foreign card, DCC not available / Local card, DCC not available:

    • Retail Logic / FEXCO sends "DCC=NO"

    • IFC8-Client returns usage-choice info to IFC8-Server, which passes on to IFC7.

Note: Retail Logic / FEXCO does not support choice between Debit and Credit

card (e.g. Switch Cards), so the actual choice will always return "Credit Only" and

no choice box will show up in FO, even if this functionality is (must be) enabled.

  2. FO sends Authorization or Add-On Authorization

    • Authorization commands are handled in the standard way. IFC7 passes to IFC8-Server, from there to IFC8-Client and from the to Retail Logic /FEXCO for approval. Return information is passed back with authorization code or denial. Here no new feature has been implemented.

  3. FO sends Settlement request

    • Again the command is passed: IFC7 to IFC8-Server to IFC8-Client to R.L./FEXCO.

    • At this point Retail Logic /FEXCO will again return with currency information, if available, and IFC8-Client will again display the Pop-Up for the user's choice. If the guest has already at check-in decided not to use DCC, will not further information be sent to the IFFC8-Client upon settlement. Only when Retail Logic / FEXCO have a positive decision of the user in their database, will the DCC information be sent for display again.

    • Retail Logic / FEXCO will now use the field for the transaction number ($J from FIAS) to transfer legal information to the IFC which needs to be printed on the folio. This field will carry a "N/A", if DCC was not available or not chosen.


Front_Office_V._6.2x_Folio_Setup

The following is a good example, of how you may change the folio layout to reflect the values received from Retail Logic / FEXCO:

{if(cc_pay, "Amount charged to "+rs->pmethod+" "+rs->creditcard,"")}

{if(cc_pay, "Approval: "+cc_appr_code,"")}

{if(cc_pay, "I acknowledge, that I had the choice to pay in my local currency.","")}

{if(cc_pay, "DCC Amount: "+subst(CC_TRANS_NR,5,8),"")}

{if(cc_pay, "Currency: "+substr(CC_TRANS_NR,13,3),"")}

{if(cc_pay, "Exchange Rate: "+substr(CC_TRANS_NR,16,5),"")}

{if(cc_pay, "Signature_______________________________________","")}

Please recheck with the Hotel and/or retail Logic / FEXCO about the legal disclaimer. When this documentation was done, no specific information was available about further legal information, which needs to be added to the folio.

Retail Logic / FEXCO are aware, that the above will be printed on the folio with every credit card payment, regardless if DCC was chosen or not.

Don't forget to edit all language's folios as well as CARDPAY.TXT !!


Specific Interface Setup (IFC7)

Note: As of Front Office Version 6.12(9) it is mandatory that you use IFC_CTRL->TIMEOUT. If no entry exists, the credit card interface functionality will be switched off automatically.

  • Merchant-ID from Retail Logic needs to be added to FEX_CFG->MERCHANT.


Specific Interface Setup (IFC8)


New Page 1

COMMUNICATION VERIFICATION

***********************************************************************************
+ V7.40(6): FID FEX_ Retail Logic / FEXCO
0000000000000000000000000000000100000062?/0000000100/10

***********************************************************************************

Link Records
------------------

-1>[0/0]LS|DA011219|TI123953|
-->12:39:53 received DATA

-1>[0/0]LD|DA011219|TI124242|IFPB|V#1.0|
-->12:42:43 received DATA

-1>[0/0]LR|RI$A|FLS#WSG#$+$#$2$DTA$R$CCTAS|
-->12:42:43 received DATA

-1>[0/0]LR|RI$S|FLS#WSG#$#$2$D$R$F$CTACFCUCRFT$JCTAS|
-->12:42:44 received DATA

-1>[0/0]LR|RI$U|FLS#WSG#$#$2$DCFCUCR$T$C|
-->12:42:44 received DATA

-1>[0/0]LR|RI$X|FLS#CFWSG#$#$2$D|
-->12:42:44 received DATA

-1>[0/0]LA|DA011219|TI124244|
-->12:42:44 received DATA

<1-[0/0]LA|DA011219|TI123820|
<--11:42:44 sent DATA

This driver uses a few fields and a new record, which are not generally a
part of the FIAS-driver.

These are in detail:

CF,CU,CR and CT in the $A record
CF,CU,CR in the $S record
and the $X record with new field CF.

1.
What are these fields used for ??
IFC7 does not process these fields at all. Only IFC8 triggers for the contents.
The fields will be transferred to IFC7, but will be ignored.

2.
Meaning of the fields:
CF = Conversion availability Flag (Y/N) AN, Char1
CU = Currency Code AN, Char3
CR = Currency Conversion Rate N, Max 10 Char
FT = Foreign Total N, Max 15 Chars

$X record:
Used by IFC8 to indicate to Retail Logic / FEXCO, if DCC should be used
or not (CF=Y/N) depending on the users choice during the pop-up.

Communication examples
----------------------

IFC sends a card usage request:

<1-[0/0]$U|S#5|WS1|G#1|$#5232000000014716|$D1201|
<--13:48:01 sent DATA

-1>[0/0]$U|S#5|WS1|G#1|$#5232000000014716|$25232000000000014716=00121008154711000
|$D0112|$TEC|CFY|$C1|CUUSD|CR1.897654321|
-->13:48:15 received DATA

Retail logic has identified this card as US card and offers DDC (CF=Y) and sends
all respective details.
IFC8 displays the pop-up, asking the user to choose DCC or not and then replies to
Retail Logic / FEXCO with $X and CF=Y or CF=N.

All DCC details from Fexco will be passed on to IFC7, but will be ignored from IFC7.

Payment:

 <1-[0/0]$S|$D1201|$C1|WS1|S#1|G#4|$RD15113|TA100.00|$#5232000000014716|RTOT|$I00747576|
<--13:20:20 sent DATA

-1>[0/0]$S|$D1201|WS1|CTValid|S#1|G#4|ASOK|$#5232000000014716|$J00322.02DEM3.220|
|$I00747576|
-->13:20:22 received DATA
Most important field in the $A answer is $J.
Generally $J is meant to return the vendors transaction-ID.
For Retail Logic / FEXCO we use this field to transfer DDC information to be
printed on the folio (or receipt.)

The contents are always fixed as follows:

$J = 16 chars
Pos 1- 8 = Total amount in foreign currency
Pos 9-11 = Currency code
Pos 12-16 = Conversion/Exchange rate used.

When DCC was not not selected, a $J filed like follows will be sent:
|$JN/A N/AN/A |
With this field all respective fields on the folio will be filled with "N /A"
during the printing process.


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum2="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1"
            PathId3="PMS1"
            SetPathId3="3">
<COMM CheckState="N"
                    Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="3000"
LLC_ACKTimeOut="3000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<PARSE FktLogo="NWS"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
  <NWS
EFT_RequestTimeout="80%"
NWS_TerminalID_Source="W"
NWS_Send_MerchantID="Y"
NWS_Check_GuestNum="W"
NWS_Check_CardNum="W"
SingleThread="Y"
/>
</PARSE>
  <MON
MonDetail="4"
MonType="CHR"
LogLength="128000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="6" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="128000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

Servebase sends the fields X1-X9 in their settlement response out of which the EFT-receipt needs to be constructed.

The values of the fields are:

Examples:

<- $O|$#5473XXXXXXXX9636|$DXXXX|$RH40937|G#20012|S#28460|TA2.00|WSPC003|$I5773445|

-> $O|$#5473XXXXXXXX9636|$DXXXX|S#28460|WSPC003|$J09349000108|X15773445/25037507|X2|X3MasterCard|X4|X5|X6H40937|X7Keyed Entry|X8Signature|X9|ASOK|$RH40937|

X1 = Merchant ID / Terminal ID

X2 = AID (Application Identifier)

X3 = Card Scheme Name

X4 = Terminal Verification Results

X5 = Transaction Status Information

X6 = Authority Code (Authorization Code)

X7 = Capture Method

X8 = CVM (Card Holder Verification Method) Results (Can be PIN or Signature)

X9 = <currently not used>

Must be printed in order to comply with ICCrequirements: X1, X2, X3, X6, X7, X8

If value of X8='Signature' a signature line must be printed.


Specific Interface Setup

Supported functionality:

The CC9 driver supports all transaction types, which are currently available in Suite8 and OPERA:

  • TypeCheck, Authorization, Settlement for Swipe-scenarios

  • DCC for Swipe Scenarios

  • Chip & Pin

In theory the records can be mixed, but this is not recommended. Either use a swipe scenario (with or without DCC) or use Chip & PIN.

With Chip & PIN do not attempt to use DCC. The DCC choice is happening on the PIN pad and does not allow interaction through the PMS any more. The known extra license for DCC is not needed with Chip & PIN.

Receipt Printing:

The 3C system will always send receipts, IFC8 will print these depending on configuration:

Parameter: : CC9_PrintReceiptOption

Values: 'S' only for successful settlements (default)

'A' for all authorizations/settlements (both negative & positive responses)

'U' for all settlements, but not authorizations (both negative & positive responses)

Integrated Receipt to PMS Folio:

as of IFC8.8.2.2 we added support for receiving receipt data into CrossReference1-9 attributes (XML to PMS) .

This allows to write EFT receipt data onto the PMS folio instead of printing receipts via IFC8 or via vendor EMV Device printer.

Note: these CrossReference Fields are only supported in CpSettle and CpPayOnly result schemas. They will only work with CP based transactions !!

Default definitions (November 2015) - see also here for SixCards Definitions as reference.

Generally Opera properly supports the CrossReference Fields with 5.0.03.03 - where the length of CrossReference9 had been enhanced to support the length of the DCC Disclaimer text.

Pls verify with PMS team on Folio layout and supported PMS versions.

HTTP(s) connections:

HTTPs can be used as comm-layer to encrypt the communications since IFC8 version 8.7.2.15.

However please note that HTTP canNOT support any multi-threading. So in order to process several requests at the same time you need ton setup one IFC-object per installed EFT-terminal and add a corresponding routing by WsNum.

Timeout in HTTP-Conections:

The Request-timeout (=EFT-timeout) should always be smaller than the ReceiveTimeout to avoid timeouts in the communication layer.

i.e set ReceiveTimeout to 1 second more than the configured EFT-timeout..

Card type translation

When CC9 IFC is used then certain card types are sent by Six Cards not matching existing EFT Card types in PMS – usually when Chip&Pin handling is active on vendor side.

For this the card types need to be translated in ifc8 to match the PMS card types.

In ifc8 config.xml a CC9 specific parameter enables/disables the use of Card Type translation.

Parameter = CC9_Use_CardType_Translation (Y/N)

In Menu CardTypes defines the card type translation.

Value PARAMETER defines the Card type received from vendor.

Value VALUE defines the Card type set up in PMS .

The value format of the PARAMETER value must be:

CC9_3C_Cardtype_CT where CT is the two letter card type CCIntegra sends

Sample: CC9_3C_Cardtype_VS for Cardtype VS from CCIntegra

NOTE: if the Parameter CC9_Use_CardType_Translation is active then a translation for ALL received Cardtypes must be defined, even the codes are the same in PMS.

Please verify with Six Cards technician which Card types will be supported and which codes will be sent.

CC9_3C_Cardtype_Default XX

This value is used when IFC receives a Cardtype code which is not defined in this translation.

In order to pass a code to PMS the PMS value for this cardtype translation shall be a valid PMS cardtype – best is to setup such a ‘unknown cardtype’ in PMS.


Setting up HTTP(s)

Start IFC8 in Config-Mode:

Change the physical layer to "HTTP" (IFC8 will automatically interpret this as "HTTPs", "HTTP" is not used by IFC8):

IFC8 will now change the SingleThread parameter to "Y":

Configuration:

The default contents for "PORT" is: Http(s)://Url|UserName|PassWord

Username and password are optional parameters and are not normally used with 3C.

Example:

when using HTTPs the following error will now occur:

Installing the server-side certificate:

Certificates must be installed through Internet Explorer. Do NOT install them by double-clicking the certificate.

Internet Options \ Content

Open "Certificates" and select the TAB "Trusted Root Certification Authorities":

Press "Import":

Find your certificate:

ensure that the certificate will be installed in the "Trusted Root Certification Authorities Store":

Press yes on the following warning messages:

Now you need to verify that you can see the certificate in your store.

Ensure that a backup-copy of the certificate is stored in a safe (!!) location or ensure that a copy can be obtained from 3C at a later stage in case the IFC-HDD fails.

As of interface version 8.8.0.12 IFC8 supports clients side certificates (mutual SSL)

Import as 'personal' certificate in this place: (NEVER import through any other means)

You need to get the password from the 3C technician, it will be different for every certificate.

The certificate will show for which server it is valid.

Now you need to add the name of this certificate to IFC8's configuration, so that the application knows which one to use:

If a wrong certificate is installed or if the certificate is missing, you will see the following error upon connection attempt.


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" GetPathId="PathId" PathIdX="PMS1" PathId3="PMS1" SetPathId3="3" PathId1="PMS1" SetPathId1="1">
<PROT Layer2="LLC_BMP" CheckSum="CKS_NONE" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="X">
 <LLC_BMP
BMP_UseETXforChecksum="Y" BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0" BMP_IgnoreChecksum="N" BMP_SendENQ="0" BMP_SendLeadingZero="0" BMP_SendTrailingZero="0" BMP_AnswerENQWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_ENQTimeOut="4000" LLC_ACKTimeOut="4000" LLC_ENQRetries="4" LLC_SendRetries="3" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N" BMP_STXSelector="0" BMP_ETXSelector="0" BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0" />
</PROT>
<PARSE FktLogo="CC9" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" ReInit_On_LnkErr="Y" ParseCharSet="850" CharPlaceHolder_Def="|||">
<CC9 EFT_RequestTimeout="80%" SingleThread="N" CC9_SendAliveRecord="N" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" MonCharSet="256" />
<PRN PrinterName="(1) PDFCreator" PaperTray="0" PageSize="0" />
<COMM Layer1="TCP/C" CheckState="Y" Port="5002" Param="LOCAL" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N" ParseCharSet="-1">
<SERV IfcNum="6" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF" />
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>

An exmaple Config.Xml from testing:

- <IFC8>
-
<IFC1 Required="Y"
GetPathId="PathId"
PathIdX="PMS1"
RefNum="20"
PathId1="PMS1"
SetPathId1="1">
<PRN PrinterName="(0) No Printer" PaperTray="(15) Automatically Select" PageSize="0" PrinterName_DE-HPNC6320-MBO="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_DE-N-NB08-093="(0) Use standard Printer definition" />
  <MON
MonShowState="N"
MonType="CHR"
MonDetail="3"
LogLength="2000000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
- <PARSE
FktLogo="CC9"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ReInit_On_LnkErr="Y"
ParseCharSet="437"
CharPlaceHolder_Def="|||">
  <CC9
EFT_RequestTimeout="80%"
CC9_SendAliveRecord="360"
CC9_CpPayOnly_DCCFlag="Y"
SingleThread="N"
/>
</PARSE>
- <PROT
Layer2="LLC_BMP"
CheckSum="CKS_NONE"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="4000"
LLC_ACKTimeOut="4000"
LLC_ENQRetries="4"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
  <COMM
Layer1="TCP/C"
CheckState="Y"
Port="5002"
Param="172.28.101.252"
/>
</IFC1>
-
<PMS1 Required="Y"
WSNumX="IFC1"
RefNum="20">
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_DE-HPNC6320-MBO="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_DE-N-NB08-093="(0) Use standard Printer definition" />
  <MON
MonShowState="N"
MonType="CHR"
MonDetail="3"
LogLength="2000000"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
- <PARSE
FktLogo="OPERA"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="-1">
  <OPERA
IfcNum="3761"
MaxTrack2Length="-1"
Enable_UTF8="N"
/>
</PARSE>
- <PROT
Layer2="N"
CheckSum="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
  <COMM
Layer1="TCP"
CheckState="Y"
Port="5001"
Param="LOCAL"
/>
</PMS1>
-
<GENERAL ConfAllowed="Y"
PrgCaption="IFC8"
ErrorEMail="N"
ServiceInst="N">
<SimAttrDef />
  <GlobalDbsConnect0
DbsConfig="ICFG(0)"
User="V863Live"
Alias="OPERA"
Pwd="live"
/>
</GENERAL>
</IFC8>


Sample setup on OPERA

IFC configuration & setup with Opera V5 for Chip & PIN

IFC Workstation and Terminal ID of the Pin Pad

Setup of the GENERAL Tab.

Tick the ‘Handle Night audit commands’ and the ‘Regular Transactions’

IFC8 config.xml setup:

The Parameter CC9_CpPayOnly_DCCflag is to set to YES only when DCC is enabled to use.

DCC functionality is no longer used in the PMS, but all interaction is done on the Terminal, thus the PMS Parameter OPP_DCC can be deactivated.

Ifc8 logfile sample:

[02.07/14:42:41] <MessLvl3> Init MonClass-->done

[02.07/14:42:41] <MessLvl3> Init ParseCC9Class (V2.5) --> done

[02.07/14:42:41] <MessLvl3> Init ProtBMPClass-->done

[02.07/14:42:41] <MessLvl3> Init CommTcpClienClass(5002:172.28.101.252)-->done

[02.07/14:42:41] <MessLvl2> IFC1 [WinOs:WinXP / Ifc8 V5.4.3001 / IfcAction V5.4.2 / IfcBusi V5.4.2] "CC9 - 3C ccintegra 9000" started via "C:\Fidelio\Ifc8\CC9 Opera\CC9-Ifc8Config.Xml"

[02.07/14:42:44] <MessLvl3> CommTcpClienClass -->ConnectEvent

[02.07/14:42:44] <MessLvl3> ChangeCommState:Sync

[02.07/14:42:44] <MessLvl3> ChangeLinkState:CommOn

[02.07/14:42:44] => <LinkStart Date="080207" Time="144244"/>

[02.07/14:42:44]
 <= <LinkDescription Date="080207" Time="144244"
 InterfaceFamily="EF" VerNum="2.5" FktLogo="CC9"
 RequestType="2"/>

[02.07/14:42:44] <= <Schema name="CcUsageSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CcUsage" model="closed">

<AttributeType name="CreditcardNum"/>

<attribute type="CreditcardNum"/>

<AttributeType name="ExpyDate"/>

<attribute type="ExpyDate"/>

<AttributeType name="Track2"/>

<attribute type="Track2"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:44] <= <Schema name="CcCurrencySchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CcCurrency" model="closed">

<AttributeType name="CreditcardNum"/>

<attribute type="CreditcardNum"/>

<AttributeType name="ExpyDate"/>

<attribute type="ExpyDate"/>

<AttributeType name="Track2"/>

<attribute type="Track2"/>

<AttributeType name="TotalAmount"/>

<attribute type="TotalAmount"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:44] <= <Schema name="CcAuthorSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CcAuthor" model="closed">

<AttributeType name="CreditcardNum"/>

<attribute type="CreditcardNum"/>

<AttributeType name="ExpyDate"/>

<attribute type="ExpyDate"/>

<AttributeType name="Track2"/>

<attribute type="Track2"/>

<AttributeType name="StartDate"/>

<attribute type="StartDate"/>

<AttributeType name="IssueNumber"/>

<attribute type="IssueNumber"/>

<AttributeType name="CurrencyAvailableFlag"/>

<attribute type="CurrencyAvailableFlag"/>

<AttributeType name="ForeignTotal"/>

<attribute type="ForeignTotal"/>

<AttributeType name="CurrencyRate"/>

<attribute type="CurrencyRate"/>

<AttributeType name="CurrencyCode"/>

<attribute type="CurrencyCode"/>

<AttributeType name="TotalAmount"/>

<attribute type="TotalAmount"/>

<AttributeType name="AuthNum"/>

<attribute type="AuthNum"/>

<AttributeType name="SecondAuth"/>

<attribute type="SecondAuth"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="CcSettlSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CcSettl" model="closed">

<AttributeType name="CreditcardNum"/>

<attribute type="CreditcardNum"/>

<AttributeType name="ExpyDate"/>

<attribute type="ExpyDate"/>

<AttributeType name="Track2"/>

<attribute type="Track2"/>

<AttributeType name="StartDate"/>

<attribute type="StartDate"/>

<AttributeType name="IssueNumber"/>

<attribute type="IssueNumber"/>

<AttributeType name="CurrencyAvailableFlag"/>

<attribute type="CurrencyAvailableFlag"/>

<AttributeType name="ForeignTotal"/>

<attribute type="ForeignTotal"/>

<AttributeType name="CurrencyRate"/>

<attribute type="CurrencyRate"/>

<AttributeType name="CurrencyCode"/>

<attribute type="CurrencyCode"/>

<AttributeType name="TotalAmount"/>

<attribute type="TotalAmount"/>

<AttributeType name="AuthNum"/>

<attribute type="AuthNum"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="CcPayOnlySchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CcPayOnly" model="closed">

<AttributeType name="CreditcardNum"/>

<attribute type="CreditcardNum"/>

<AttributeType name="ExpyDate"/>

<attribute type="ExpyDate"/>

<AttributeType name="Track2"/>

<attribute type="Track2"/>

<AttributeType name="StartDate"/>

<attribute type="StartDate"/>

<AttributeType name="IssueNumber"/>

<attribute type="IssueNumber"/>

<AttributeType name="CurrencyAvailableFlag"/>

<attribute type="CurrencyAvailableFlag"/>

<AttributeType name="ForeignTotal"/>

<attribute type="ForeignTotal"/>

<AttributeType name="CurrencyRate"/>

<attribute type="CurrencyRate"/>

<AttributeType name="CurrencyCode"/>

<attribute type="CurrencyCode"/>

<AttributeType name="TotalAmount"/>

<attribute type="TotalAmount"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="CpAuthorSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CpAuthor" model="closed">

<AttributeType name="TotalAmount"/>

<attribute type="TotalAmount"/>

<AttributeType name="CreditcardNum"/>

<attribute type="CreditcardNum"/>

<AttributeType name="ExpyDate"/>

<attribute type="ExpyDate"/>

<AttributeType name="Track2"/>

<attribute type="Track2"/>

<AttributeType name="SecondAuth"/>

<attribute type="SecondAuth"/>

<AttributeType name="AuthNum"/>

<attribute type="AuthNum"/>

<AttributeType name="IssueNumber"/>

<attribute type="IssueNumber"/>

<AttributeType name="StartDate"/>

<attribute type="StartDate"/>

<AttributeType name="Cryptogram"/>

<attribute type="Cryptogram"/>

<AttributeType name="KeyCoder"/>

<attribute type="KeyCoder"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="CpSettlSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CpSettl" model="closed">

<AttributeType name="AuthNum"/>

<attribute type="AuthNum"/>

<AttributeType name="CreditcardNum"/>

<attribute type="CreditcardNum"/>

<AttributeType name="ExpyDate"/>

<attribute type="ExpyDate"/>

<AttributeType name="Track2"/>

<attribute type="Track2"/>

<AttributeType name="TotalAmount"/>

<attribute type="TotalAmount"/>

<AttributeType name="IssueNumber"/>

<attribute type="IssueNumber"/>

<AttributeType name="StartDate"/>

<attribute type="StartDate"/>

<AttributeType name="KeyCoder"/>

<attribute type="KeyCoder"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="CpPayOnlySchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CpPayOnly" model="closed">

<AttributeType name="TotalAmount"/>

<attribute type="TotalAmount"/>

<AttributeType name="KeyCoder"/>

<attribute type="KeyCoder"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="CancelRequestSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CancelRequest" model="closed">

<AttributeType name="WSNum" required="yes"/>

<attribute type="WSNum"/>

<AttributeType name="PathId" required="yes"/>

<attribute type="PathId"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="NightauditStartSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="NightauditStart" model="closed">

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="NightauditEndSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="NightauditEnd" model="closed">

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="DataThroughSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="DataThrough" model="closed">

<AttributeType name="Cryptogram" required="yes"/>

<attribute type="Cryptogram"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="CcUsageSchema_I" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CcUsage" model="closed">

<AttributeType name="AnswerStat"/>

<attribute type="AnswerStat"/>

<AttributeType name="ClearText"/>

<attribute type="ClearText"/>

<AttributeType name="CardType"/>

<attribute type="CardType"/>

<AttributeType name="CardUsage"/>

<attribute type="CardUsage"/>

<AttributeType name="CreditcardNum"/>

<attribute type="CreditcardNum"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="CcCurrencySchema_I" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CcCurrency" model="closed">

<AttributeType name="AnswerStat"/>

<attribute type="AnswerStat"/>

<AttributeType name="ClearText"/>

<attribute type="ClearText"/>

<AttributeType name="CreditcardNum"/>

<attribute type="CreditcardNum"/>

<AttributeType name="CardType"/>

<attribute type="CardType"/>

<AttributeType name="CurrencyAvailableFlag"/>

<attribute type="CurrencyAvailableFlag"/>

<AttributeType name="ForeignTotal"/>

<attribute type="ForeignTotal"/>

<AttributeType name="CurrencyRate"/>

<attribute type="CurrencyRate"/>

<AttributeType name="CurrencyCode"/>

<attribute type="CurrencyCode"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="CcAuthorSchema_I" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CcAuthor" model="closed">

<AttributeType name="AnswerStat"/>

<attribute type="AnswerStat"/>

<AttributeType name="ClearText"/>

<attribute type="ClearText"/>

<AttributeType name="AuthNum"/>

<attribute type="AuthNum"/>

<AttributeType name="CreditcardNum"/>

<attribute type="CreditcardNum"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="CcSettlSchema_I" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CcSettl" model="closed">

<AttributeType name="AnswerStat"/>

<attribute type="AnswerStat"/>

<AttributeType name="ClearText"/>

<attribute type="ClearText"/>

<AttributeType name="CreditcardNum"/>

<attribute type="CreditcardNum"/>

<AttributeType name="Track2"/>

<attribute type="Track2"/>

<AttributeType name="TransNum"/>

<attribute type="TransNum"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="CcPayOnlySchema_I" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CcPayOnly" model="closed">

<AttributeType name="AnswerStat"/>

<attribute type="AnswerStat"/>

<AttributeType name="ClearText"/>

<attribute type="ClearText"/>

<AttributeType name="CreditcardNum"/>

<attribute type="CreditcardNum"/>

<AttributeType name="Track2"/>

<attribute type="Track2"/>

<AttributeType name="AuthNum"/>

<attribute type="AuthNum"/>

<AttributeType name="TransNum"/>

<attribute type="TransNum"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="CpAuthorSchema_I" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CpAuthor" model="closed">

<AttributeType name="AnswerStat"/>

<attribute type="AnswerStat"/>

<AttributeType name="ClearText"/>

<attribute type="ClearText"/>

<AttributeType name="RequestType"/>

<attribute type="RequestType"/>

<AttributeType name="CreditcardNum"/>

<attribute type="CreditcardNum"/>

<AttributeType name="ExpyDate"/>

<attribute type="ExpyDate"/>

<AttributeType name="Track2"/>

<attribute type="Track2"/>

<AttributeType name="AuthNum"/>

<attribute type="AuthNum"/>

<AttributeType name="CardType"/>

<attribute type="CardType"/>

<AttributeType name="StartDate"/>

<attribute type="StartDate"/>

<AttributeType name="IssueNumber"/>

<attribute type="IssueNumber"/>

<AttributeType name="Cryptogram"/>

<attribute type="Cryptogram"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="CpSettlSchema_I" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CpSettl" model="closed">

<AttributeType name="AnswerStat"/>

<attribute type="AnswerStat"/>

<AttributeType name="ClearText"/>

<attribute type="ClearText"/>

<AttributeType name="RequestType"/>

<attribute type="RequestType"/>

<AttributeType name="TransNum"/>

<attribute type="TransNum"/>

<AttributeType name="AuthNum"/>

<attribute type="AuthNum"/>

<AttributeType name="CardType"/>

<attribute type="CardType"/>

<AttributeType name="StartDate"/>

<attribute type="StartDate"/>

<AttributeType name="IssueNumber"/>

<attribute type="IssueNumber"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:45] <= <Schema name="CpPayOnlySchema_I" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CpPayOnly" model="closed">

<AttributeType name="AnswerStat"/>

<attribute type="AnswerStat"/>

<AttributeType name="ClearText"/>

<attribute type="ClearText"/>

<AttributeType name="RequestType"/>

<attribute type="RequestType"/>

<AttributeType name="CreditcardNum"/>

<attribute type="CreditcardNum"/>

<AttributeType name="ExpyDate"/>

<attribute type="ExpyDate"/>

<AttributeType name="AuthNum"/>

<attribute type="AuthNum"/>

<AttributeType name="CardType"/>

<attribute type="CardType"/>

<AttributeType name="TransNum"/>

<attribute type="TransNum"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="SequenceNum"/>

<attribute type="SequenceNum"/>

<AttributeType name="WSNum"/>

<attribute type="WSNum"/>

<AttributeType name="PathId"/>

<attribute type="PathId"/>

</ElementType>

</Schema>

[02.07/14:42:46] <- _3006|T10|OM2|S080207144246|@PeriodStart|HIIFC1|WIFC1|QI07144246|_

[02.07/14:42:46] -> _

[02.07/14:42:46] -> _3007|@PeriodStart|HIIFC1|WIFC1|QI07144246|!A|[Shift allready open|T10|_

[02.07/14:42:46] <- _

[02.07/14:42:46] <= <LinkAlive Date="080207" Time="144246"/>

[02.07/14:42:46] <MessLvl3> ChangeLinkState:Start

[02.07/14:42:47] <MessLvl2> Calculate EftReqTimeOut: 100sec. * 80% = 80sec.

[02.07/14:42:47] <MessLvl2> Calculate EftSendTimeOut: EftReqTimeOut * 40% = 32sec.

[02.07/14:42:47]
 => <LinkPmsConf Date="080207" Time="144247"
 PathId="1" DefRef1="80"/>

[02.07/14:42:47] <- _3006|T80|OM2|S080207144247|@PeriodStart|HI1|WIFC1|QI07144247|_

[02.07/14:42:47] -> _

[02.07/14:42:47] -> _3007|@PeriodStart|HI1|WIFC1|QI07144247|!A|[Shift allready open|T80|_

[02.07/14:42:47] <- _

[02.07/14:42:47] <MessLvl3> ChangeLinkState:Alive

[02.07/14:42:47] <MessLvl3> Monitor security: "Mask security relevant fields for all schemas"

[02.07/14:42:47] => <LinkAlive Date="080207" Time="144247"/>

Authorisation request PMS

[02.07/14:47:25]
 => <CcAuthor xmlns="x-schema:CcAuthorSchema_O"
 PathId="1" WSNum="OS.INT.211897865" GuestNum="15729"
 CreditcardNum="4006XXXXXXX00007" ExpyDate="0903" SequenceNum="6163"
 TotalAmount="100.00" CurrencyAvailableFlag="Y" CurrencyCode="USD"
 CurrencyRate="1.5029046" ForeignTotal="150.29"/>

[02.07/14:47:25] <- _8200|T80|OM2|@CC_PreAuth|S080207144725|HI1|WOS.INT.211897865|QPMS6163|NI15729|CEM|CP4006XXXXXXX00007|CX0903|AL+100.00|OD1|AD+150.29|X1.5029046|$USD|_

[02.07/14:47:25] -> _

Authorisation response from 3C

[02.07/14:47:30] -> _8201|@CC_PreAuth|WOS.INT.211897865|QPMS6163|!A|[APPROVED|CNVSVISA CREDIT|BLNTG TEST GENERIC|BMI1234567890|BTI29KDCC001|NI15729|#A144746|HI1|CP4006XXXXXXX00007|CX0903|AD+150.29|X1.5029046|$USD|R0193|OD1|_

[02.07/14:47:30] <- _

[02.07/14:47:30]
 <= <CcAuthor xmlns="x-schema:CcAuthorSchema_I"
 AnswerStat="OK" ClearText="APPROVED" AuthNum="A144746"
 CreditcardNum="4006XXXXXXX00007" GuestNum="15729"
 SequenceNum="6163" WSNum="OS.INT.211897865" PathId="1"/>

DCC check from PMS to 3C

[02.07/14:47:31]
 => <CcCurrency xmlns="x-schema:CcCurrencySchema_O"
 PathId="1" WSNum="OS.INT.211897865" GuestNum="15729"
 CreditcardNum="4006XXXXXXX00007" ExpyDate="0903" SequenceNum="6164"
 TotalAmount="100"/>

[02.07/14:47:31] <- _8100|T80|OM2|S080207144731|@CC_DCCCheck|HI1|WOS.INT.211897865|QPMS6164|NI15729|CEM|CP4006XXXXXXX00007|CX0903|AL+100.00|_

[02.07/14:47:31] -> _

[02.07/14:47:32] -> _8101|@CC_DCCCheck|WOS.INT.211897865|QPMS6164|!A|[Success, no error.|CNVSVISA|BLNTG TEST GENERIC|OD1|BMI1234567890|BTI29KDCC001|NI15729|HI1|CP4006XXXXXXX00007|CX0903|AD+150.29|X1.5029046|$USD|_

[02.07/14:47:32] <- _

DCC response from 3C

[02.07/14:47:32]
 <= <CcCurrency xmlns="x-schema:CcCurrencySchema_I"
 AnswerStat="OK" ClearText="Success, no error." CreditcardNum="4006XXXXXXX00007"
 CardType="VS" CurrencyAvailableFlag="Y" ForeignTotal="150.29"
 CurrencyRate="1.5029046" CurrencyCode="USD" GuestNum="15729"
 SequenceNum="6164" WSNum="OS.INT.211897865" PathId="1"/>

Settlement request from PMS to 3C

[02.07/14:47:36]
 => <CcSettl xmlns="x-schema:CcSettlSchema_O"
 PathId="1" WSNum="OS.INT.211897865" GuestNum="15729"
 CreditcardNum="4006XXXXXXX00007" ExpyDate="0903" AuthNum="A144746"
 SequenceNum="6165" TotalAmount="100.00" CurrencyAvailableFlag="Y"
 CurrencyCode="USD" CurrencyRate="1.5029046" ForeignTotal="150.29"
 Date="050903" Time="144736"/>

[02.07/14:47:36] <- _8400|T80|OM2|S050903144736|@CC_Settl|HI1|WOS.INT.211897865|QPMS6165|NI15729|CEM|CP4006XXXXXXX00007|CX0903|#A144746|AL+100.00|OD1|AD+150.29|X1.5029046|$USD|_

[02.07/14:47:36] -> _

Settlement response from 3C including receipt information

[02.07/14:47:37] -> _8401|@CC_Settl|WOS.INT.211897865|!A|QPMS6165|[XZ Approved|CNVSVISA CREDIT|BLNTG TEST GENERIC|BMI1234567890|BTI29KDCC001|NI15729|#A144746|HI1|CP4006XXXXXXX00007|CX0903|AD+150.29|X1.5029046|R0194|$USD|OD1|PDXXLFFN^|PDXXLFFN^++++++++ XXXX START ++++++++|PDXXLFFN^FIDELIO XC XXXX EMV|PDXXLFFN^GLOBAL AVENUE XX|PDXXLFFN^D-XXXX GLOBAL CITY|PDXXLFFN^|PDXXLFFN^---------------------------|PDXXLFFN^MERCHANT COPY|PDXXLFFN^---------------------------|PDXXLFFN^Date: XX/XX/XX XX:XX|PDXXLFFN^---------------------------|PDXXLFFN^VISA CREDIT|PDXXLFFN^PAN: XXXXXXXXXXXXXXXX|PDXXLFFN^CARD EXPY: XXXX|PDXXLFFN^---------------------------|PDXXLFFN^TERMINAL ID: XXKXXXXX|PDXXLFFN^MERCHANT ID: XXXXXXXXXX|PDXXLFFN^TRX.REF. NO.: XXXX|PDXXLFFN^---------------------------|PDXXLFFN^|PDXXLFFN^TRANS.CURRENCY: USD|PDXXLFFN^TRANS.AMOUNT: XXX.XX|PDXXLFFN^TIP AMOUNT: X.XX|PDXXLFFN^TOTAL AMOUNT: XXX.XX|PDXXLFFN^============================|PDXXLFFN^CARD-ENTRY: KEYED|PDXXLFFN^SIGNATURE REQUIRED|PDXXLFFN^|PDXXLFFN^|PDXXLFFN^|PDXXLFFN^***********************|PDXXLFFN^I ACCEPT THAT I HAVE|PDXXLFFN^BEEN OFFERED A CHOICE|PDXXLFFN^OF CURRENCIES FOR|PDXXLFFN^PAYMENT AND THAT THIS|PDXXLFFN^CHOICE IS FINAL.|PDXXLFFN^***********************|PDXXLFFN^I ACCEPT THE|PDXXLFFN^CONVERSION RATE AND|PDXXLFFN^THE FINAL AMOUNT.|PDXXLFFN^EXCHANGE RATE PROVIDED|PDXXLFFN^BY RBS|PDXXLFFN^MARKUP RATE: X.X%|PDXXLFFN^***********************|PDXXLFFN^++++++++ XXXX END ++++++++++|PDXXFF|PDXXXLFFN^|PDXXLFFN^++++++++ XXXX START ++++++++|PDXXLFFN^FIDELIO XC XXXX EMV|PDXXLFFN^GLOBAL AVENUE XX|PDXXLFFN^D-XXXX GLOBAL CITY|PDXXLFFN^|PDXXLFFN^---------------------------|PDXXLFFN^CARDHOLDER COPY|PDXXLFFN^PLEASE RETAIN THIS COPY|PDXXLFFN^THANK YOU|PDXXLFFN^---------------------------|PDXXLFFN^Date: XX/XX/XX XX:XX|PDXXLFFN^---------------------------|PDXXLFFN^VISA CREDIT|PDXXLFFN^PAN: ************XXXX|PDXXLFFN^CARD EXPY: ****|PDXXLFFN^---------------------------|PDXXLFFN^TERMINAL ID: XXKXXXXX|PDXXLFFN^MERCHANT ID: XXXXXXXXXX|PDXXLFFN^TRX.REF. NO.: XXXX|PDXXLFFN^---------------------------|PDXXLFFN^|PDXXLFFN^TRANS.CURRENCY: USD|PDXXLFFN^TRANS.AMOUNT: XXX.XX|PDXXLFFN^TIP AMOUNT: X.XX|PDXXLFFN^TOTAL AMOUNT: XXX.XX|PDXXLFFN^============================|PDXXLFFN^CARD-ENTRY: KEYED|PDXXLFFN^SIGNATURE VERIFIED|PDXXLFFN^***********************|PDXXLFFN^I ACCEPT THAT I HAVE|PDXXLFFN^BEEN OFFERED A CHOICE|PDXXLFFN^OF CURRENCIES FOR|PDXXLFFN^PAYMENT AND THAT THIS|PDXXLFFN^CHOICE IS FINAL.|PDXXLFFN^***********************|PDXXLFFN^I ACCEPT THE|PDXXLFFN^CONVERSION RATE AND|PDXXLFFN^THE FINAL AMOUNT.|PDXXLFFN^EXCHANGE RATE PROVIDED|PDXXLFFN^BY RBS|PDXXLFFN^MARKUP RATE: X.X%|PDXXLFFN^***********************|PDXXLFFN^++++++++ XXXX END ++++++++++|_

[02.07/14:47:37] <- _

[02.07/14:47:37]
 <= <CcSettl xmlns="x-schema:CcSettlSchema_I"
 AnswerStat="OK" ClearText="XZ Approved" CreditcardNum="4006XXXXXXX00007"
 TransNum="_0194" GuestNum="15729" SequenceNum="6165"
 WSNum="OS.INT.211897865" PathId="1"/>

Ifc8 notification that receipt and copy have been printed

[02.07/14:47:37] <MessLvl3> "Receipt for EFT-Transaction (Pay only)" was printed to HP LaserJet 5P Office Marcus

[02.07/14:47:38] <MessLvl3> "Receipt for EFT-Transaction (Pay only)" was printed to HP LaserJet 5P Office Marcus

[02.07/14:47:59] <= <CcCurrency
xmlns="x-schema:CcCurrencySchema_I"
AnswerStat="OK" ClearText="Success, no error." CreditcardNum="4006XXXXXXX00007"
CardType="VS" CurrencyAvailableFlag="Y" ForeignTotal="-150.29"
CurrencyRate="1.5029046" CurrencyCode="USD" GuestNum="15729"
SequenceNum="6166" WSNum="OS.INT.211897865" PathId="1"/>

[02.07/14:48:04]
 => <CcSettl xmlns="x-schema:CcSettlSchema_O"
 PathId="1" WSNum="OS.INT.211897865" GuestNum="15729"
 CreditcardNum="4006XXXXXXX00007" ExpyDate="0903" SequenceNum="6167"
 TotalAmount="-100.00" CurrencyAvailableFlag="Y" CurrencyCode="USD"
 CurrencyRate="1.5029046" ForeignTotal="-150.29" Date="050903"
 Time="144803"/>

[02.07/14:48:04] <- _8400|T80|OM2|S050903144803|@CC_Settl|HI1|WOS.INT.211897865|QPMS6167|NI15729|CEM|CP4006XXXXXXX00007|CX0903|AL-100.00|OD1|AD-150.29|X1.5029046|$USD|_

[02.07/14:48:04] -> _

[02.07/14:48:04] -> _8401|@CC_Settl|WOS.INT.211897865|!A|QPMS6167|[XO Approved|CNVSVISA CREDIT|BLNTG TEST GENERIC|BMI1234567890|BTI29KDCC001|NI15729|HI1|CP4006XXXXXXX00007|CX0903|AD-150.29|X1.5029046|R0194|$USD|OD1|PDXXLFFN^|PDXXLFFN^++++++++ XXXX START ++++++++|PDXXLFFN^FIDELIO XC XXXX EMV|PDXXLFFN^GLOBAL AVENUE XX|PDXXLFFN^D-XXXX GLOBAL CITY|PDXXLFFN^|PDXXLFFN^---------------------------|PDXXLFFN^MERCHANT COPY|PDXXLFFN^---------------------------|PDXXLFFN^Date: XX/XX/XX XX:XX|PDXXLFFN^---------------------------|PDXXLFFN^VISA CREDIT|PDXXLFFN^PAN: XXXXXXXXXXXXXXXX|PDXXLFFN^CARD EXPY: XXXX|PDXXLFFN^---------------------------|PDXXLFFN^TERMINAL ID: XXKXXXXX|PDXXLFFN^MERCHANT ID: XXXXXXXXXX|PDXXLFFN^TRX.REF. NO.: XXXX|PDXXLFFN^---------------------------|PDXXLFFN^|PDXXLFFN^TRANS.CURRENCY: USD|PDXXLFFN^TRANS.AMOUNT: XXX.XX|PDXXLFFN^TIP AMOUNT: X.XX|PDXXLFFN^TOTAL AMOUNT: XXX.XX|PDXXLFFN^============================|PDXXLFFN^CARD-ENTRY: KEYED|PDXXLFFN^SIGNATURE REQUIRED|PDXXLFFN^|PDXXLFFN^|PDXXLFFN^|PDXXLFFN^***********************|PDXXLFFN^I ACCEPT THAT I HAVE|PDXXLFFN^BEEN OFFERED A CHOICE|PDXXLFFN^OF CURRENCIES FOR|PDXXLFFN^PAYMENT AND THAT THIS|PDXXLFFN^CHOICE IS FINAL.|PDXXLFFN^***********************|PDXXLFFN^I ACCEPT THE|PDXXLFFN^CONVERSION RATE AND|PDXXLFFN^THE FINAL AMOUNT.|PDXXLFFN^EXCHANGE RATE PROVIDED|PDXXLFFN^BY RBS|PDXXLFFN^MARKUP RATE: X.X%|PDXXLFFN^***********************|PDXXLFFN^++++++++ XXXX END ++++++++++|PDXXFF|PDXXXLFFN^|PDXXLFFN^++++++++ XXXX START ++++++++|PDXXLFFN^FIDELIO XC XXXX EMV|PDXXLFFN^GLOBAL AVENUE XX|PDXXLFFN^D-XXXX GLOBAL CITY|PDXXLFFN^|PDXXLFFN^---------------------------|PDXXLFFN^CARDHOLDER COPY|PDXXLFFN^PLEASE RETAIN THIS COPY|PDXXLFFN^THANK YOU|PDXXLFFN^---------------------------|PDXXLFFN^Date: XX/XX/XX XX:XX|PDXXLFFN^---------------------------|PDXXLFFN^VISA CREDIT|PDXXLFFN^PAN: ************XXXX|PDXXLFFN^CARD EXPY: ****|PDXXLFFN^---------------------------|PDXXLFFN^TERMINAL ID: XXKXXXXX|PDXXLFFN^MERCHANT ID: XXXXXXXXXX|PDXXLFFN^TRX.REF. NO.: XXXX|PDXXLFFN^---------------------------|PDXXLFFN^|PDXXLFFN^TRANS.CURRENCY: USD|PDXXLFFN^TRANS.AMOUNT: XXX.XX|PDXXLFFN^TIP AMOUNT: X.XX|PDXXLFFN^TOTAL AMOUNT: XXX.XX|PDXXLFFN^============================|PDXXLFFN^CARD-ENTRY: KEYED|PDXXLFFN^SIGNATURE VERIFIED|PDXXLFFN^***********************|PDXXLFFN^I ACCEPT THAT I HAVE|PDXXLFFN^BEEN OFFERED A CHOICE|PDXXLFFN^OF CURRENCIES FOR|PDXXLFFN^PAYMENT AND THAT THIS|PDXXLFFN^CHOICE IS FINAL.|PDXXLFFN^***********************|PDXXLFFN^I ACCEPT THE|PDXXLFFN^CONVERSION RATE AND|PDXXLFFN^THE FINAL AMOUNT.|PDXXLFFN^EXCHANGE RATE PROVIDED|PDXXLFFN^BY RBS|PDXXLFFN^MARKUP RATE: X.X%|PDXXLFFN^***********************|PDXXLFFN^++++++++ XXXX END ++++++++++|_

[02.07/14:48:04] <- _

[02.07/14:48:04]
 <= <CcSettl xmlns="x-schema:CcSettlSchema_I"
 AnswerStat="OK" ClearText="XO Approved" CreditcardNum="4006XXXXXXX00007"
 TransNum="_0194" GuestNum="15729" SequenceNum="6167"
 WSNum="OS.INT.211897865" PathId="1"/>

[02.07/14:48:05] <MessLvl3> "Receipt for EFT-Transaction (Pay only)" was printed to HP LaserJet 5P Office Marcus

[02.07/14:48:05] <MessLvl3> "Receipt for EFT-Transaction (Pay only)" was printed to HP LaserJet 5P Office Marcus

[02.07/14:48:24] <MessLvl2> SaveLog(0.02s) ------------------------------------------------------

[02.07/14:48:52]
 => <DataThrough xmlns="x-schema:DataThroughSchema_O"
 Cryptogram="SendAliveRequest"/>

[02.07/14:48:52] <- _0000|T80|OM2|S080207144852|@Alive|HIIFC1|WIFC1|QI07144852|_

[02.07/14:48:52] -> _

[02.07/14:48:52] -> _0001|@Alive|HIIFC1|WIFC1|QI07144852|!A|[Accepted|_

[02.07/14:48:52] <- _

[02.07/14:48:52] <MessLvl2> CC9 Status: A

[02.07/14:54:52]
 => <DataThrough xmlns="x-schema:DataThroughSchema_O"
 Cryptogram="SendAliveRequest"/>

[02.07/14:54:52] <- _0000|T80|OM2|S080207145452|@Alive|HIIFC1|WIFC1|QI07145452|_

[02.07/14:54:52] -> _

[02.07/14:54:52] -> _0001|@Alive|HIIFC1|WIFC1|QI07145452|!A|[Accepted|_

[02.07/14:54:52] <- _

[02.07/14:54:52] <MessLvl2> CC9 Status: A

[02.07/15:00:52]
 => <DataThrough xmlns="x-schema:DataThroughSchema_O"
 Cryptogram="SendAliveRequest"/>

[02.07/15:00:52] <- _0000|T80|OM2|S080207150052|@Alive|HIIFC1|WIFC1|QI07150052|_

[02.07/15:00:52] -> _

[02.07/15:00:53] -> _0001|@Alive|HIIFC1|WIFC1|QI07150052|!A|[Accepted|_

[02.07/15:00:53] <- _

[02.07/15:00:53] <MessLvl2> CC9 Status: A

[02.07/15:06:52]
 => <DataThrough xmlns="x-schema:DataThroughSchema_O"
 Cryptogram="SendAliveRequest"/>

[02.07/15:06:52] <- _0000|T80|OM2|S080207150652|@Alive|HIIFC1|WIFC1|QI07150652|_

[02.07/15:06:53] -> _

[02.07/15:06:53] -> _0001|@Alive|HIIFC1|WIFC1|QI07150652|!A|[Accepted|_

[02.07/15:06:53] <- _

[02.07/15:06:53] <MessLvl2> CC9 Status: A

[02.07/15:11:07] => <LinkEnd Date="080207" Time="151107"/>

[02.07/15:11:07] <= <LinkEnd Date="080207" Time="151107"/>

[02.07/15:11:07] <MessLvl3> ChangeLinkState:End

[02.07/15:11:07] <MessLvl3> ChangeCommState:Off

[02.07/15:11:07] <MessLvl3> Close MonClass -->done

[02.07/15:11:07] <MessLvl2> ShutDown -------------------------------------------------------------


Known Problems with OPERA

DCC:

OPERA is not relating to regional settings, but expects a dot (.) as decimal separator for amount fields. Please ensure that the dot is configured on the IFC-PC accordingly. Incoming DCC-responses with a comma as decimal separator will lead to errors in OPERA.


Record Description

Record Types (January 2013):

Cross Reference Field definitions (Nov 2015)


Gloabl Setup

Global Setup

SteriaPay does not have a master-application which handles all terminal. IFC8 needs to communicate to all terminals separately. The communication is handled through a library from SteriaPay which is integrated to IFC8.

The file-version used for programming is: 1.8.10. This OCX can be found on the FTP under:

....IFC8/Utility/Vendor_Progs_DLLs/SRP/SteriaPAY - Point Transaction Systems - communication-component.zip

Setup of IFC8:

One instance of IFC8 can load the OCX only one. Subsequently you need to install one session of IFC8 per terminal and one master-IFC8 which handles the routing.

Note: only the 'master-IFC8' has a connection to the PMS. This session needs to have as many IFC-objects as you have terminals. Then you add extra IFC8 sessions and set the FKT-Logo in the PMS-object of those sessions to "XML" and point them to an IFC-object of the master IFC8.

Within the 'master' you need to configure routing based on WsNum, so that a request from a workstation can be directed to a specific terminal.

It is recommended that you test this setup in the office to get familiar with it. In case of problems please contact your regional IFC-support.

Further notes:

No cardnumber is stored in OPERA any more. Manual (keyed) transactions can only be processed when the number is entered on the terminal.

For deposit payments the user needs to manually copy the number from OPERA to SteriaPay terminal.

The minimum IFC8-version for the SRP-driver is 8.7.1.10 !!

As of version 8.7.2.8 serially attached terminals can be connected through the Steria-OCX:

New parameter : OCX_SRP_OptionalConfigParameter

TCP setup :

Param: IP-Adress e.g. 192.168.178.32

Port: TCP-Port e.g. 9500 (default)

OCX_SRP_OptionalConfigParameter: 4 (fixed)

COM setup :

Param: COM-Port e.g. COM1

Port: Baudrate e.g. 115200

OCX_SRP_OptionalConfigParameter: as required


Specific Interface Setup

The communication to the EFT-device is done through a component (SteriaPAY.ocx) from Steria.

The file-version used for programming is: 1.8.10. This OCX can be found on the FTP under:

....IFC8/Utility/Vendor_Progs_DLLs/SRP/SteriaPAY - Point Transaction Systems - communication-component.zip

This driver requires that OPERA's "Chip & PIN" functionality is enabled:

In Suite8 it's sufficient to configure the respective payment methods accordingly:

Dynamic Submenu:

The components offers many functions in addition to the payment functionalities. In order to use these functions the dynamic submenu needs to be setup as follows:

(please refer to WIDT insert script for Suite8 implementations)

Note: Only the first and the third option are processed by the interface. In the above example "Reports" and "Utilities" are not processed and ca n be modified just as the Hotel would like to group the items. i.e. all items can be put together into one group, or more groups can be setup.

During the installation it needs to be clarified with the customer, if all functions should be made available to the users or not.

NOTE: there are no user-rights available for the dynamic submenu, so every user can execute ALL functions without any entry to a user-log.

Currently known problems:

- SteriaPay does not provide the expiry date of a card. IFC8 will provide the value with 'current-date+1-year' as the PMS cannot insert a card without valid expiry date.

- the cardnumber is provided by SteriaPay in masked format. Subsequently it is not possible to access the full cardnumber from the PMS at any stage, regardless of the PMS user-rights. (As the number cannot be used for further payments, it has no influence on the system that the expiry date is incorrect.)

- There is no option to add a card to OPERA after Check-In unless payment is taken.

- descriptions of a reason for a denied transaction can currently NOT be passed on to the PMS. The SteriaPay component provides the information of the display values from the terminal, however when a transaction is rejected the display-property contains "Remove card". It doesn't make any sense to send this information to the user so IFC8 will send "Card Rejected" instead. The disadvantage of this behavior in the SteriaPay component is that a user cannot see that a card may have been referred and authorization via Phone should be done. At this point (November 2009) we do not have any information if SteriaPay plans to change this behavior in the future.

All creditcards need to be read or manually entered on the terminal. It is NOT possible to transfer a number from the PMS to SteriaPay. The exception is the situation, where a card has been read & authorized upon check-in. This card can be used for Top-Up authorizations and settlement without reading the card again. However, if a payment has been taken against a card it cannot be used again for further transactions, but it needs to be read again. As the cardnumber is not available in the PMS it is not possible to make any late-charges to a card if the guest has already left the Hotel.

SteriaPay supports a scenario where local debit cards (PayOnly) and creditcards can be used together. The minimum version of OPERA to support such a scenario is 5.0.02.01.

Setup in OPERA:

- The parameter Chip&PIN needs to be enabled.

- All workstations at the front desk need to be configured accordingly:

"Chip & Pin Device Available" needs to be enabled for all workstation at the front desk, where payment should be possible. Do NOT enable for any PC in the backoffice. Anyone wanting to make payments need to come to the front desk,

Payment methods:

Verify that all payment methods which do not support separated authorizations are configured under "Authorization Settlement at Check-Out"

CardTypes:

the incoming cardtypes need to be translated to the ones as they are configured in the PMS:

(For OPERA this must be done in IFC8, for SUite8 the respective PMS-functionality can be used.)

IDs as per SteriaPay specification:

1 bankaxept

3 VISA

4 EUROCARD

5 AMEX

6 DINERS

9 bankaxept

11 JCB

12 TRUMF

14 MAESTRO

15 LINDEX

16 IKANO

20 bankaxept

22 GAVEKORT SENTER

23 GAVEKORT KJEDE

25 SENTRUMSGAVEKORT

27 XPONCARD KORT

28 MULTICARD

29 UNIV PRESENTKORT

32 RESURS BANK

33 Binders VISA

34 NG Bedriftskort

35 SENTER-GAVEKORT

36 KJEDE-GAVEKORT

other values may be configured on the SteriaPay side, please verify with the SteraPay-technician.

New list of values (May 2012):

01 Bankkort (BankAxept) Norsk standard spor 3 3 Kun i Norge

01 Postbanken (BankAxept) 5892922

03 Visa 4 2 Kun Norge og Danmark, Sverige bruker 41 for Visa

04 Mastercard 51<55 2 Kun Norge og Danmark, Sverige bruker 41 for Mastercard

05 AmEx 37 2

06 Diners 304<305;36;38 2

09 GE Capital (BankAxept)

11 JCB 35280<35899 2

12 trumf 50441929 2

14 Maestro 5;6 2

15 Lindex 95780002 2

16 Ikano 603231 IKEA : 603231067, IKANO: 603231070 2

18 Proton 20 Coop (BankAxept) 40306411 2

21 NBBL Lojalitet 60629062 2

22 Gavekort Senter 9578007050<9578007099 2

23 Gavekort Kjede 9578007000<9578007049 2

24 Esso Mastercard

25 Sentrumskortet 9578007500<9578007549 2

26 Mastercard Purchase

27 XPonCard kortsystem 9578007550<9578007599 2

28 Multicard 95780200;95788021 2

29 Universal Presentkort 95780010 2

30 BAX Smartkort 957852 chip

32 Resurs Bank 95780050 2

33 Binders VISA Utgått?

34 NG Bedriftskort Utgått?

35 BBS Sentergavekort 9578351000<9578351049 2

36 BBS Kjedegavekort 9578351050<9578351099 2

38 NETS (Visa/MC; Bankkort, Swedbank credit/debit selection)

39 NETS (Visa/MC: Bankkort, All except swedbank/nordea)

40 NETS (Visa/MC Nordea:MC, Visa)

41 NETS (Visa/MC) Sweden only: Visa and MASTERCARD

43 STEEN & STRØM Utgått? 45 Nordea Finans (Profilerad)

46 Handelsbanken Finans (Profilerad)

47 Swedbank (Profilerad)

48 SEB (Profilerad)

49 Resursbank (Profilerad)

50 Dankort Kun Danmark

51 COOP Visa

52 Payex Gavekort

55 Trumf Visa

56 Gavekort 1

57 Visa Danmark

58 Mastercard Danmark

59 Maestro Danmark

60 Diners Danmark

61 Amex Danmark

62 CashcomsPresentkort

63 Storcash Bedriftkort

64 Gavekort – PBS

65 Forbrugsforeningen DK

66 Ikano Finans DK

67 Oberthur Gavekort DK

68 China Union Pay ( CUP)

69 Rikslunsjen

70 Kjedekort 1

71 Collector Credit SE

72 FDM (DK)

73 BBS Sentegavekort2

74 BBS Sentegavekort3

75 Visa Estland

76 MasterCard Estland

77 PBS Centerkort

78 PBS Handelstand

81 COOP Mastercard

84 Rikskortet

NightAudit:

IFC8 does not support automatic night-audit records with SteriaPay as there is no master application but multiple terminals involved.

Terminals must be set to “automatic reconciliation” at a set time, e.g. 3:30 so that reports of Steria and the NA reports of the PMS match.


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1"
            ObjCaption="IFC1">
<COMM Layer1="OCX_SRP"
                    CheckState="Y"
                    Port="9500"
                    Param="192.168.178.47">
  <OCX_SRP
OCX_SRP_PollEvents="750"
OCX_SRP_PrintWidth="40"
OCX_SRP_LogLevel="5"
/>
</COMM>
<PROT Layer2="LLC_SIM"
                    CheckSum="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<PARSE FktLogo="SRP"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
<SRP EFT_RequestTimeout="80%"
                            SRP_Print_Separator=""
                            SingleThread="Y"
                            SRP_Use_CardType_Translation="Y">
<CardTypes
SRP_EFT_Cardtype_3="VI"
SRP_EFT_Cardtype_Default="XX"
SRP_EFT_Cardtype_5="AX"
SRP_EFT_Cardtype_6="DN"
SRP_EFT_Cardtype_9="XX"
SRP_EFT_Cardtype_1="VI"
/>
</SRP>
</PARSE>
  <MON
MonDetail="4"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
LogFileType="RTF"
MonFontSize="S"
MonCharSet="256"
/>
<PRN PrinterName="(9) An OneNote 2007 senden" PaperTray="(1) Standardschacht" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_SAM="(0) Use standard Printer definition" PrinterName_MORDOR="(9) An OneNote 2007 senden" PaperTray_MORDOR="(1) Standardschacht" FormatOptions_MORDOR="(112) NewPage+CenterPage" PageSize_MORDOR="0" PrinterName_ARAGON="(-1) No Printer" PaperTray_ARAGON="(1) Standardschacht" FormatOptions_ARAGON="(112) NewPage+CenterPage" PageSize_ARAGON="0" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1"
            ObjCaption="PMS1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5506"
MsqTcpDns="N"
DbsDebugMode="N"
SetupIRMS="IRMS"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="6" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
LogFileType="RTF"
MonFontSize="S"
/>
<PRN PrinterName="(9) An OneNote 2007 senden" PaperTray="(1) Standardschacht" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_SAM="(0) Use standard Printer definition" PrinterName_MORDOR="(9) An OneNote 2007 senden" PrinterName_ARAGON="(0) Use standard Printer definition" PaperTray_MORDOR="(1) Standardschacht" FormatOptions_MORDOR="(112) NewPage+CenterPage" PageSize_MORDOR="0" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8"
            ServiceInst="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


WIDT insert script for administrative functionalities

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1016, 'EFT-Admin', 'EFT', 0, NULL, 0, 1);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1017, 'Utilities', 'UTILITIES', 0, NULL, 1016, 2);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1018, 'Reports', 'REPORTS', 0, NULL, 1016, 2);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1020, 'TEST_COMMUNICATION', 'TEST_COMMUNICATION', 0, NULL, 1017, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1019, 'PRINT_STORED_REPORTS', 'PRINT_STORED_REPORTS', 0, NULL, 1018, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1023, 'COPY_OF_LAST_RECONCILIATION', 'COPY_OF_LAST_RECONCILIATION', 0, NULL, 1017

, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1024, 'START_RECONCILIATION', 'START_RECONCILIATION', 0, NULL, 1017, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1025, 'START_BALANCE_INQUIRY', 'START_BALANCE_INQUIRY', 0, NULL, 1017, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1026, 'PRINT_X_REPORT', 'PRINT_X_REPORT', 0, NULL, 1018, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1027, 'PRINT_Z_REPORT', 'PRINT_Z_REPORT', 0, NULL, 1018, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1028, 'SENDING_OFFLINE_TRANSACTIONS', 'SENDING_OFFLINE_TRANSACTIONS', 0, NULL, 1017

, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1029, 'PRINT_TURNOVER_REPORT', 'PRINT_TURNOVER_REPORT', 0, NULL, 1018, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1030, 'START_COPY_OF_LAST_RECEIPT', 'START_COPY_OF_LAST_RECEIPT', 0, NULL, 1017, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1031, 'PRINT_ERRORLOG', 'PRINT_ERRORLOG', 0, NULL, 1018, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1032, 'PRINT_PARAMETER_LIST', 'PRINT_PARAMETER_LIST', 0, NULL, 1018, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1033, 'PRINT_PROGRAM_INFORMATION', 'PRINT_PROGRAM_INFORMATION', 0, NULL, 1018, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1034, 'PRINT_ACTIVE_CARDS_ON_TERMINAL', 'PRINT_ACTIVE_CARDS_ON_TERMINAL', 0, NULL

, 1018, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1035, 'PRINT_OFFLINE_TRANSACTION_INFO', 'PRINT_OFFLINE_TRANSACTION_INFO', 0, NULL

, 1018, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1036, 'PRINT_COMMUNICATION_STATUS', 'PRINT_COMMUNICATION_STATUS', 0, NULL, 1018, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1037, 'PRINT_ECR_STATUS', 'PRINT_ECR_STATUS', 0, NULL, 1018, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1038, 'SEND_LOGS', 'SEND_LOGS', 0, NULL, 1017, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1039, 'START_SOFTWARE_LOADING', 'START_SOFTWARE_LOADING', 0, NULL, 1017, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1040, 'CONNECT_TO_HELPDESK', 'CONNECT_TO_HELPDESK', 0, NULL, 1017, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1041, 'TRANS_STATUS', 'TRANS_STATUS', 0, NULL, 1017, 3);

INSERT INTO WIDT ( WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL ) VALUES (

1042, 'CARD_STATUS', 'CARD_STATUS', 0, NULL, 1017, 3);

COMMIT;


IFC_USER_DEFINED_MENU insert script (OPERA)

NOTE: IFC-IDs, Resort etc need to be adopted before this script can be used.

SET DEFINE OFF;

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 1, 0, 'Data Through Menu',

'N', 'Data Through Menu', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 2, 1, 'EFT-Admin',

'N', 'EFT', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 3, 2, 'Reports',

'N', 'Reports', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 4, 3, 'PRINT_X_REPORT',

'N', 'PRINT_X_REPORT', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 5, 3, 'PRINT_Z_REPORT',

'N', 'PRINT_Z_REPORT', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 6, 3, 'PRINT_TURNOVER_REPORT',

'N', 'PRINT_TURNOVER_REPORT', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 7, 3, 'PRINT_ERRORLOG',

'N', 'PRINT_ERRORLOG', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 8, 3, 'PRINT_PARAMETER_LIST',

'N', 'PRINT_PARAMETER_LIST', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 9, 3, 'PRINT_PROGRAM_INFORMATION',

'N', 'PRINT_PROGRAM_INFORMATION', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 10, 3, 'PRINT_ACTIVE_CARDS_ON_TERMINAL',

'N', 'PRINT_ACTIVE_CARDS_ON_TERMINAL', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 11, 3, 'PRINT_OFFLINE_TRANSACTION_INFO',

'N', 'PRINT_OFFLINE_TRANSACTION_INFO', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 12, 3, 'PRINT_COMMUNICATION_STATUS',

'N', 'PRINT_COMMUNICATION_STATUS', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 13, 3, 'PRINT_ECR_STATUS',

'N', 'PRINT_ECR_STATUS', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 14, 3, 'PRINT_STORED_REPORTS',

'N', 'PRINT_STORED_REPORTS', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 15, 2, 'Utilities',

'N', 'UTILITIES', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 16, 15, 'START_RECONCILIATION',

'N', 'START_RECONCILIATION', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 17, 15, 'START_BALANCE_INQUIRY',

'N', 'START_BALANCE_INQUIRY', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 18, 15, 'SENDING_OFFLINE_TRANSACTIONS',

'N', 'SENDING_OFFLINE_TRANSACTIONS', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 19, 15, 'CARD_STATUS',

'N', 'CARD_STATUS', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 20, 15, 'SEND_LOGS',

'N', 'SEND_LOGS', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 21, 15, 'START_SOFTWARE_LOADING',

'N', 'START_SOFTWARE_LOADING', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 22, 15, 'CONNECT_TO_HELPDESK',

'N', 'CONNECT_TO_HELPDESK', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 23, 15, 'TRANS_STATUS',

'N', 'TRANS_STATUS', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 24, 15, 'COPY_OF_LAST_RECONCILIATION',

'N', 'COPY_OF_LAST_RECONCILIATION', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 25, 15, 'TEST_COMMUNICATION',

'N', 'TEST_COMMUNICATION', NULL);

Insert into IFC_USER_DEFINED_MENU

(RESORT, IFC_CTRL_ID, USERDEF_ID, PARENT_ID, DESCRIPTION,

USER_INPUT_YN, PRE_CONF_TEXT, INPUT_DATA_TYPE)

Values

('FSDH', 2, 26, 15, 'START_COPY_OF_LAST_RECEIPT',

'N', 'START_COPY_OF_LAST_RECEIPT', NULL);

COMMIT;


Specific Interface Setup

This driver supports the following Telecash Modell: "Artema Modular". This model does not have a printer and is designed to be built into Kiosk-type devices.

NO OTHER Telecash terminal can be supported wit this driver.

The functionality is limited to CpPayOnly.

CreditcardType:

The translation in the IFC8-configuration needs to be filled with HEX values (e.g. 1A), take the necessary value from the logfile.

For Motel24 the values have been provided by Telecash as:

ZVT_Cardtype_Default="EC"

ZVT_Cardtype_06="MC"

ZVT_Cardtype_05="EC"

ZVT_Cardtype_0A="VI"

ZVT_Cardtype_02="EC"

ZVT_Cardtype_08="AX"

ZVT_Cardtype_2E="EC"

ZVT_Cardtype_09="EC"

ZVT_Cardtype_0D="EC"

ZVT_Cardtype_0B="EC"

ZVT_Cardtype_1E="EC"

ZVT_Cardtype_5C="EC"

ZVT_Cardtype_C6="EC"


IFC8Confog.Xml

IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1"
        ObjCaption="IFC1"
        PathId2="PMS1"
        SetPathId2="2">
<PARSE FktLogo="ZVT"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                GetParseConfig="GetParseConfig"
                LA_TimeOut="3000"
                ReInit_On_LnkErr="Y"
                ParseCharSet="850"
                CharPlaceHolder_Def="|||">
<ZVT EFT_RequestTimeout="60"
                        ZVT_Password="000000"
                        SingleThread="Y"
                        ZVT_ReceiptPrintoutHandling="N"
                        ZVT_ReceiptLineWidth="40">
<StatusMessages ZVT_StatusMessage_0E="Please wait ..." ZVT_StatusMessage_17="Bitte warten ..." />
<ErrorMessages ZVT_ErrorMessage_78="Card expired" />
</ZVT>
</PARSE>
  <MON
MonDetail="3"
MonType="HEX"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
LogFileType="RTF"
MonFontSize="S"
MonRefNum="Y"
MonCharSet="256"
/>
<PRN PrinterName="An OneNote 2010 senden" PaperTray="(15) standard only" PageSize="0" PrinterName_SAM="\No Printer\" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="An OneNote 2010 senden" ControlChars="" PrinterName_NAZGUL="\No Printer\" PaperTray_MORDOR="(15) standard only" FormatOptions_MORDOR="(112) NewPage+CenterPage" PageSize_MORDOR="0" />
<PROT Layer2="ISO"
                CheckSum="CKS_CRCB"
                RecMaxLength="64000"
                RecBuffTimeOut="200"
                MaxStackCount="32"
                ReInit_On_ExpEnq="X">
<ISO ReplyTimeOut="5000" />
</PROT>
<COMM Layer1="COM"
                CheckState="N"
                Port="2"
                Param="9600,N,8,2">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1"
        ObjCaption="PMS1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5506"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="6" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
LogFileType="RTF"
MonFontSize="S"
MonRefNum="Y"
/>
<PRN PrinterName="\No Printer\" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="\No Printer\" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="\No Printer\" ControlChars="" PrinterName_NAZGUL="\No Printer\" />
</PMS1>
<GENERAL ConfAllowed="Y"
        ErrorEMail="N"
        PrgCaption="IFC8"
        ServiceInst="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
RoomNum="101"
AnswerStat="OK"
ClearText="ClearText_Value"
DefRef0="DefRef0_Value"
KeyCoder="1"
WSNum="1"
PathId="1"
RoomStatus="1"
GuestNum="12345678"
GuestName="Koehler"
DefRef1="DefRef1_Value"
DefRef2="DefRef2_Value"
GuestVip="0"
KeyCount="1"
Track2=""
KeyType="N"
RequestType="0"
CreditcardNum=""
ExpyDate=""
AuthNum=""
TransNum=""
SequenceNum="(SequenceNum)"
TotalAmount="30,00"
Date="(Date)"
Time="(Time)"
Cryptogram="" />
</GENERAL>
</IFC8>


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId" SetPathId1="1">
- <COMM CheckState="N" Layer1="COM" Port="1" Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PROT Layer2="LLC_SAE" CheckSum="CKS_SAE" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="N">
<LLC_SAE SAE_IgnoreChecksum="Y" LLC_ACKTimeOut="3000" LLC_SendRetries="3" />
</PROT>
- <PARSE FktLogo="SAE" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" ParseCharSet="850" CharPlaceHolder_Def="|||">
<SAE />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="32000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\SAE_IFC1.RTF" MonCharSet="256" />
</IFC1>
- <PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
- <COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
- <PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="N" InLineSchema="N" ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="32000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="0" LogFileName=".\SERV_PMS1.RTF" />
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8LIVE" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef DefRef0="SAE" Date="(Date)" Time="(Time)" RequestType="0" RoomNum="101" GuestShareflag="N" ClassofService="3" />
</GENERAL>
</IFC8>


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1">
- <COMM
CheckState="N"
Layer1="COM"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PROT
Layer2="LLC_BMP"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="N"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_SupportEmbeddedACK="N"
/>
</PROT>
- <PARSE
FktLogo="CEM"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
<CEM />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="32000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\CEM_IFC1.RTF"
MonCharSet="256"
/>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="N"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="32000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\SERV_PMS1.RTF"
/>
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8LIVE"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
DefRef0="SAE"
Date="(Date)"
Time="(Time)"
RequestType="0"
RoomNum="101"
GuestShareflag="N"
ClassofService="3"
/>
</GENERAL>
</IFC8>


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1">
- <COMM
CheckState="N"
Layer1="COM"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PROT
Layer2="LLC_BMP"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="N"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_SupportEmbeddedACK="N"
/>
</PROT>
- <PARSE
FktLogo="DCC"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
<DCC />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="256000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\DCC_IFC1.RTF"
MonCharSet="256"
/>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="N"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="32000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\SERV_PMS1.RTF"
/>
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8LIVE"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
DefRef0="DCC"
Date="(Date)"
Time="(Time)"
RequestType="0"
RoomNum="101"
GuestShareflag="N"
ClassofService="3"
/>
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            GetPathId="PathId"
            PathIdX="PMS1">
<COMM Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1"
                    CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_BMP"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="N"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<PARSE FktLogo="SSE"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
<SSE />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1">
- <COMM
CheckState="N"
Layer1="COM"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PROT
Layer2="LLC_BLK"
CheckSum="CKS_NONE"
RecMaxLength="64000"
RecBuffTimeOut="999"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="N"
BLK_SendStartCharacter="0"
BLK_SendStopCharacter="0"
BLK_ReceiveStartCharacter="0"
BLK_ReceiveStopCharacter="0"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="N"
/>
</PROT>
- <PARSE
FktLogo="GRM"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
<GRM />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="256000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\GRM_IFC1.RTF"
MonCharSet="256"
/>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="N"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="32000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\SERV_PMS1.RTF"
/>
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8LIVE"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
DefRef0="GRM"
Date="(Date)"
Time="(Time)"
RequestType="0"
RoomNum="101"
GuestShareflag="N"
ClassofService="3"
/>
</GENERAL>
</IFC8>


Specific Interface Setup

The Honeywell system may expect more then one connection, if there is more then one controller installed in the Hotel.

In IFC7 this used to be handled through IFC_ROOM and just one IFC.

In IFC you just setup the respective rooms per interface and start as many IFC8s as the Honeywell system has controllers.


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="HON"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="N"

Layer2="LLC_BLK"

BLK_CheckSumPos="0"

BLK_IgnoreChecksum="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5525"

MsqTcpDns="N"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8Live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="2"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="KPG"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="N"

Layer2="LLC_BLK"

BLK_CheckSumPos="0"

BLK_IgnoreChecksum="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5522"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8Live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<PARSE FktLogo="LNG"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
<LNG LNG_ReplyTimeout="5000" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
<PROT Layer2="LLC_BLK"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="N"
BLK_SendStartCharacter="4"
BLK_SendStopCharacter="6"
BLK_ReceiveStartCharacter="4"
BLK_ReceiveStopCharacter="6"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="N"
/>
</PROT>
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5505"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="5" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            GetPathId="PathId"
            PathIdX="PMS1">
<COMM Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1"
                    CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_BLK"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="N"
BLK_SendStartCharacter="6"
BLK_SendStopCharacter="8"
BLK_ReceiveStartCharacter="6"
BLK_ReceiveStopCharacter="8"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="N"
BLK_Remove_STX="1"
/>
</PROT>
<PARSE FktLogo="NRG"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ReInit_On_LnkErr="Y"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
<NRG />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

The Orion EMS is provided by Vingcard / Assa Abloy.

The protocol is based on the TLP-driver, but the record are not sent upon KeyRequest/Delete but during C/I-C/O. GuestIn/GuestOut schemas are used.


IFC8Config,Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1"
            ObjCaption="IFC1">
  <COMM
Layer1="TCP"
CheckState="Y"
Port="5002"
Param="LOCAL"
/>
<PROT Layer2="LLC_BLK"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="N"
BLK_SendStartCharacter="0"
BLK_SendStopCharacter="5"
BLK_ReceiveStartCharacter="0"
BLK_ReceiveStopCharacter="3"
BLK_Remove_STX="0"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="Y"
BLK_AllowEmptyRecords="N"
/>
</PROT>
<PARSE FktLogo="ORI"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
<ORI CO_Time_Default="1200" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="Y"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
LogFileType="RTF"
MonFontSize="S"
MonRefNum="Y"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" ControlChars="" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1"
            ObjCaption="PMS1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5505"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="5" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
LogFileType="RTF"
MonFontSize="S"
MonRefNum="Y"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" ControlChars="" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8"
            ServiceInst="N">
  <GlobalDbsConnect0
Pwd="super"
User="V8Live"
Alias="FOV8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
GuestDeparture="(Date)"
GuestShareflag="N"
RoomNum="101"
SwapFlag="" />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            GetPathId="PathId"
            PathIdX="PMS1">
<COMM Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1"
                    CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_PEG"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="2000"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
<LLC_PEG LLC_ACKTimeOut="5000" LLC_SendRetries="3" />
</PROT>
<PARSE FktLogo="PEG"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
<PEG />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5505"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="5" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1">
- <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
- <PROT
Layer2="LLC_BMP"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="2"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
BMP_UseETXforChecksum="Y"
/>
</PROT>
- <PARSE
FktLogo="RSE"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
<RSE />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
- <GENERAL
ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1">
<PARSE FktLogo="SAU"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                ParseCharSet="850"
                CharPlaceHolder_Def="|||">
<SAU SAU_DBSwap_Option="0" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PROT Layer2="LLC_BSC"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="N">
  <LLC_BSC
LLC_MasterSlave="S"
LLC_AlternatingACK="N"
LLC_ENQTimeOut="3000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="5"
/>
</PROT>
  <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="Y"
/>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
DefRef0="SAU"
Date="(Date)"
Time="(Time)"
RequestType="0"
RoomNum="101"
SwapFlag=""
ClassofService="3"
GuestShareflag="N"
/>
</GENERAL>
</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1">
<PARSE FktLogo="TEC"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                GetParseConfig="GetParseConfig"
                LA_TimeOut="3000"
                ParseCharSet="850"
                CharPlaceHolder_Def="|GE_UML||">
<TEC />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="200000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
<PROT Layer2="LLC_BSC"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="X">
  <LLC_BSC
LLC_MasterSlave="S"
LLC_AlternatingACK="Y"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_DataTimeOut="5000"
LLC_ENQRetries="5"
BSC_SyncCharacterList=""
/>
</PROT>
<COMM Layer1="COM"
                CheckState="N"
                Port="1"
                Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5505"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="5" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="200000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
        ErrorEMail="N"
        PrgCaption="IFC8">
<GlobalDbsConnect0 />
</GENERAL>
</IFC8>


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1">
- <COMM
CheckState="N"
Layer1="COM"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PROT Layer2="LLC_BLK"
CheckSum="CKS_NONE"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="N"
BLK_SendStartCharacter="0"
BLK_SendStopCharacter="0"
BLK_ReceiveStartCharacter="0"
BLK_ReceiveStopCharacter="0"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="N"
/>
</PROT>
- <PARSE FktLogo="TLT"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
<TLT />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="256000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\TLT_IFC1.RTF"
MonCharSet="256"
/>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="N"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="32000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\SERV_PMS1.RTF"
/>
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8LIVE"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
DefRef0="TLT"
Date="(Date)"
Time="(Time)"
RequestType="0"
RoomNum="101"
GuestShareflag="N"
ClassofService="3"
/>
</GENERAL>
</IFC8>


Specific interface setup

No specific setup necessary, this IFC is based on FIAS.


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum1="PMS1"
            WSNum2="PMS1"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1"
            PathId3="PMS1"
            SetPathId3="3">
<COMM Layer1="DLL_FEI"
                    CheckState="Y"
                    Port="D"
                    Param="\Source\V8\DLL_FEI">
<DLL_FEI>
<IPsForKeyCoder
KeyCoder_Default=""
KeyCoder_1=""
KeyCoder_2="192.168.178.20"
KeyCoder_3="192.168.178.23"
/>
</DLL_FEI>
</COMM>
<PROT Layer2="LLC_SIM"
                    CheckSum="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<PARSE FktLogo="FEI"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
<FEI SingleThread="Y" />
</PARSE>
  <MON
MonDetail="4"
MonType="CHR"
LogLength="128000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="4" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="128000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

NOTE: This driver will currently ONLY work with the USB-Device from FEIG as done for Great Wolfe resorts in the US. (Not with a serial device.)

KeyOptions : Only the first character (KeyOption 20) is used (numerics only) for the right handling. Currently planned values:

0 = No charging privileges

1 = iCare Charging active - UID = iCare account number

2 = Roomposting via UID=Track2 enabled

COMM parameter :

Port = The drive letter for SmartTag.DLL

Param = The path to the SmartTag.DLL directory

KeyCoder_x = IP-Address for key-reader connected to remote pcs. Leave blank, if the locally attached (-> IFC-PC) key- reader should be used.

Required DLLs:

FeCom.dll, Felsc.dll, Feusb.dll, SmartTag.dll

Other Files:

SmartTagRemoteHost.exe

Needs to be installed as service on the remote PC, requires the same DLLs as IFC8

Installation: SmartTagRemoteHost -i

Start: SmartTagRemoteHost -s

Stop: SmartTagRemoteHost -e

Uninstall: SmartTagRemoteHost -u

Files can be found on the Micros-FTP under:

ftp.micros.com/fidelio/archive/IFC/V6_V7/Utility/Vendor_Progs_DLLs/FEI

Logfiles of the FEIG device:

To turn on logging under Win32 environments a file named c:\SmartTag.dbg must be present. This file can be empty (i.e. zero bytes) – its presence is all that is needed to enable logging in both libraries.

The log files will be

C:\SmartTagRemoteHost.log

and

C:\SmartTag.log

Note that SmartTagRemoteHost.exe is a Windows service and must be restarted in order for logging to be turned on or off. The service should show up under services as “Smart Tag Remote Host" or "Smart Tag Host".


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum1="PMS1"
        WSNum2="PMS1"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1">
<COMM Layer1="COM"
                CheckState="N"
                Port="1"
                Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_BMP"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<PARSE FktLogo="DHS"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                ParseCharSet="20127"
                CharPlaceHolder_Def="|GE_UML||">
  <DHS
DHS_Welcome_Display_Flag="3"
DHS_Use_Extended_Checkin="N"
DHS_Bill_Display_Use_DC="N"
BillViewMultiply="1"
/>
  <TVRights
TVRights_NoRights=""
TVRights_NoPayTV=""
TVRights_NoAdult=""
TVRights_All=""
TVRights_Default="" />
  <Language
Lang_Default="0"
Lang_EN="0"
Lang_FR="0"
Lang_DE="0"
Lang_IT="0"
Lang_ES="0"
Lang_PT="0"
Lang_NL="0"
Lang_TR="0"
Lang_RU="0"
Lang_EL="0"
Lang_JA="0"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
SetupIRMS="IRMS"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="3" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y"
        ErrorEMail="N"
        PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

1. Translation of Housekeeping Status as sent by InnComm:

VAC_CLN = "1"

VAC_DRTY = "2"

OCC_CLN = "3"

OCC_DRTY = "4"

VAC_INSP = "5"

OCC_INSP = "6"

VAC_PICK = "7"

Note: IFC will always send numeric values to the PMS, thus the above hardcoded translation. Be sure to set up your housekeeping configuration in the PMS accordingly.


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
        RefNum="20"
        WSNum99="PMS1"
        WSNumX="PMS1"
        PathId1="PMS1"
        PathIdX="PMS1"
        GetPathId="PathId"
        SetPathId1="1">
<COMM Layer1="COM"
                CheckState="N"
                Port="1"
                Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
<PROT Layer2="LLC_BMP"
                CheckSum="CKS_XOR"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                MaxStackCount="32"
                ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="3000"
LLC_ACKTimeOut="3000"
LLC_ENQRetries="2"
LLC_SendRetries="2"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
<PARSE FktLogo="ITC"
                Simulation="Y"
                XmlPackEmptyAttr="Y"
                XmlDecl="N"
                InLineSchema="N"
                ParseCharSet="20127"
                CharPlaceHolder_Def="|||">
<ITC ITC_ArticleSwapOption="1" ITC_SendSharerCheckin="Y" />
  <Language
Lang_Default="ENGLISH"
Lang_EN="ENGLISH"
Lang_FR="FRENCH"
Lang_DE="GERMAN"
Lang_IT="ITALIAN"
Lang_ES="SPANISH"
Lang_PT="ENGLISH"
Lang_NL="ENGLISH"
Lang_TR="ENGLISH"
Lang_RU="RUSSIAN"
Lang_EL="ENGLISH"
Lang_JA="JAPANESE"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNum2="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                Layer2="N"
                RecMaxLength="64000"
                RecBuffTimeOut="500"
                ReInit_On_ExpEnq="N"
                MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="Y"
                InLineSchema="N"
                ParseCharSet="-1">
<SERV IfcNum="4" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1">
- <COMM
Layer1="COM"
Port="1"
Param="9600,N,8,1"
CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
- <PROT
Layer2="LLC_BLK"
CheckSum="CKS_NONE"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="N"
BLK_SendStartCharacter="4"
BLK_SendStopCharacter="6"
BLK_ReceiveStartCharacter="4"
BLK_ReceiveStopCharacter="6"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="N"
/>
</PROT>
- <PARSE
FktLogo="IFX"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ReInit_On_LnkErr="Y"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
<IFX IFX_CommandTimeout="20000" DoublePostingSize="0" />
</PARSE>
  <MON
MonDetail="4"
MonType="CHR"
LogLength="5000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="N"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
- <GENERAL
ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
  <SimAttrDef
RoomNum="101"
TotalAmount="20000"
Duration="001000"
ClearText="ClearText_Value"
PostType="T"
PostCalltype="A"
Date="(Date)"
Time="(Time)"
RequestType="0"
SwapFlag=""
GuestShareflag="N"
ClassofService="3"
AnswerStat="OK"
Cryptogram="12345678"
/>
</GENERAL>
</IFC8>


Specific Interface Setup

-> Note: This driver does NOT support remote folio printing.

There are no plans to add this functionality to Suite8 or OPERA in the future.


Ifc8Config.Xml

<IFC8>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="v8live"
Alias="v8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
</GENERAL>
<IFC1 Required="Y"
        RefNum="20"
        WSNum1="PMS1"
        WSNumX="PMS1">
  <COMM
Layer1="TCP/S"
Port="5100"
Param="LOCAL"
CheckState="Y"
/>
  <PROT
RecBuffTimeOut="2000"
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
/>
<PARSE Simulation="Y"
                FktLogo="XML_IVI"
                XmlDecl="N"
                InLineSchema="N"
                XmlPackEmptyAttr="N">
<XML EFT_RequestTimeout="80" />
<XML_IVI EFT_RequestTimeout="80%" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
/>
</IFC1>
<PMS1 Required="Y"
        RefNum="20"
        WSNum1="IFC1"
        WSNumX="IFC1">
<COMM Layer1="DBS"
                Port="GlobalDbsConnect"
                Param="0"
                CheckState="Y">
  <DBS
MsqTcpPort="5555"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
  <PROT
RecBuffTimeOut="2000"
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
/>
<PARSE Simulation="Y"
                FktLogo="SERV"
                XmlDecl="N"
                XmlPackEmptyAttr="N"
                InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
/>
</PMS1>
</IFC8>


Specific Interface Setup

Features:

Ivistar is a generic gateway system for Domina Hotels in Italy (and some others countries). It uses the IFC8-XML protocol for communication to IFC8. Ivistar has the key-system integrated and connects to the PBX and Video system. Doorhandling is completely done on the Ivistar system through C/I, C/O. MakeKey commands are not used. Ivistar links the card-IDs (Member-IDs) to the wired locks.

The following schemas/functionalities are used by Ivistar:

  • Check-In, Check-Out, RoomMove(Guestdatachange)

  • PostSimple

  • CcCourtesy (Used to add a member-ID from Ivistar to V8)

  • BillView

  • RemoteCheckout (not yet supported by IFC8)

  • Dataresync (DB-Swap)

Note:

Ivistar does NOT support roomequipment and no righthandling at all. (=No TV-Rights, No COS changes etc) Videorights are supported by Ivistar, but as IFC8 does not support RemoteCheckOut yet, this does not have any real functionality.

Setup:

XmlPackEmptyAttr="N" needs to be set in both attributes, do NOT set to "Y".

RoomMove in ICFG (ICFG_CMD_RM) must be activated. (= '1').

ICFG_CMD_CHK must be set to '5'.

SalesOutlet in the PostSimple will be filled with either 'TEL' or 'VID' to identify a Video or Telephone posting.

**************************************************************************************************************************************************************************

Following is a list of the schemas as they are used by Ivistar for reference:

<Schema name="CcCourtesySchema_I" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CcCourtesy" model="closed">

<AttributeType name="RequestType"/>

<attribute type="RequestType"/>

<AttributeType name="DefRef0"/>

<attribute type="DefRef0"/>

<AttributeType name="Track2"/>

<attribute type="Track2"/>

</ElementType>

</Schema>

<Schema name="CcCourtesySchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="CcCourtesy" model="closed">

<AttributeType name="ClearText"/>

<attribute type="ClearText"/>

<AttributeType name="AnswerStat" required="yes"/>

<attribute type="AnswerStat"/>

<AttributeType name="DefRef0"/>

<attribute type="DefRef0"/>

<AttributeType name="Track2"/>

<attribute type="Track2"/>

</ElementType>

</Schema>

<Schema name="DataresyncEndSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="DataresyncEnd" model="closed">

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

</ElementType>

</Schema>

<Schema name="DataResyncSchema_I" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="DataResync" model="closed">

<AttributeType name="RequestType"/>

<attribute type="RequestType"/>

<AttributeType name="RoomNum"/>

<attribute type="RoomNum"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

</ElementType>

</Schema>

<Schema name="DataresyncStartSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="DataresyncStart" model="closed">

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

</ElementType>

</Schema>

<Schema name="GuestBillBalanceSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="GuestBillItem" model="closed">

<AttributeType name="DepartmentCode"/>

<attribute type="DepartmentCode"/>

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

<AttributeType name="FolioNum"/>

<attribute type="FolioNum"/>

<AttributeType name="ItemAmount"/>

<attribute type="ItemAmount"/>

<AttributeType name="ItemDescription"/>

<attribute type="ItemDescription"/>

<AttributeType name="ItemdisplayFlag"/>

<attribute type="ItemdisplayFlag"/>

</ElementType>

<ElementType name="GuestBillBalance" model="closed">

<AttributeType name="BalanceAmount"/>

<attribute type="BalanceAmount"/>

<AttributeType name="RoomNum"/>

<attribute type="RoomNum"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="DefRef0"/>

<attribute type="DefRef0"/>

<element type="GuestBillItem" maxOccurs="*"/>

</ElementType>

</Schema>

<Schema name="GuestBillRequestSchema_I" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="GuestBillRequest" model="closed">

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="RoomNum"/>

<attribute type="RoomNum"/>

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

</ElementType>

</Schema>

<Schema name="GuestdataChangeSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="GuestdataChange" model="closed">

<AttributeType name="RoomOldNum"/>

<attribute type="RoomOldNum"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="RoomNum"/>

<attribute type="RoomNum"/>

<AttributeType name="GuestArrival"/>

<attribute type="GuestArrival"/>

<AttributeType name="GuestDeparture"/>

<attribute type="GuestDeparture"/>

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="DefRef0"/>

<attribute type="DefRef0"/>

<AttributeType name="DefRef1"/>

<attribute type="DefRef1"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

<AttributeType name="GuestName"/>

<attribute type="GuestName"/>

<AttributeType name="GuestFirstname"/>

<attribute type="GuestFirstname"/>

<AttributeType name="GuestLanguage"/>

<attribute type="GuestLanguage"/>

<AttributeType name="GuestTitle"/>

<attribute type="GuestTitle"/>

<AttributeType name="GuestVip"/>

<attribute type="GuestVip"/>

<AttributeType name="DefRef2"/>

<attribute type="DefRef2"/>

<AttributeType name="DefRef3"/>

<attribute type="DefRef3"/>

<AttributeType name="DefRef4"/>

<attribute type="DefRef4"/>

<AttributeType name="DefRef5"/>

<attribute type="DefRef5"/>

<AttributeType name="DefRef6"/>

<attribute type="DefRef6"/>

<AttributeType name="DefRef7"/>

<attribute type="DefRef7"/>

<AttributeType name="DefRef8"/>

<attribute type="DefRef8"/>

<AttributeType name="DefRef9"/>

<attribute type="DefRef9"/>

<AttributeType name="DefRef10"/>

<attribute type="DefRef10"/>

<AttributeType name="DefRef11"/>

<attribute type="DefRef11"/>

<AttributeType name="DefRef12"/>

<attribute type="DefRef12"/>

<AttributeType name="DefRef13"/>

<attribute type="DefRef13"/>

<AttributeType name="GuestShareflag"/>

<attribute type="GuestShareflag"/>

<AttributeType name="GuestShareflagOld"/>

<attribute type="GuestShareflagOld"/>

<AttributeType name="VideoRight"/>

<attribute type="VideoRight"/>

</ElementType>

</Schema>

<Schema name="GuestInSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="GuestIn" model="closed">

<AttributeType name="GuestNum" required="yes"/>

<attribute type="GuestNum"/>

<AttributeType name="RoomNum" required="yes"/>

<attribute type="RoomNum"/>

<AttributeType name="GuestArrival"/>

<attribute type="GuestArrival"/>

<AttributeType name="GuestDeparture"/>

<attribute type="GuestDeparture"/>

<AttributeType name="DefRef0"/>

<attribute type="DefRef0"/>

<AttributeType name="DefRef1"/>

<attribute type="DefRef1"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

<AttributeType name="GuestName" required="yes"/>

<attribute type="GuestName"/>

<AttributeType name="GuestFirstname"/>

<attribute type="GuestFirstname"/>

<AttributeType name="GuestLanguage"/>

<attribute type="GuestLanguage"/>

<AttributeType name="GuestTitle"/>

<attribute type="GuestTitle"/>

<AttributeType name="GuestVip"/>

<attribute type="GuestVip"/>

<AttributeType name="DefRef2"/>

<attribute type="DefRef2"/>

<AttributeType name="DefRef3"/>

<attribute type="DefRef3"/>

<AttributeType name="DefRef4"/>

<attribute type="DefRef4"/>

<AttributeType name="DefRef5"/>

<attribute type="DefRef5"/>

<AttributeType name="DefRef6"/>

<attribute type="DefRef6"/>

<AttributeType name="DefRef7"/>

<attribute type="DefRef7"/>

<AttributeType name="DefRef8"/>

<attribute type="DefRef8"/>

<AttributeType name="DefRef9"/>

<attribute type="DefRef9"/>

<AttributeType name="DefRef10"/>

<attribute type="DefRef10"/>

<AttributeType name="DefRef11"/>

<attribute type="DefRef11"/>

<AttributeType name="DefRef12"/>

<attribute type="DefRef12"/>

<AttributeType name="DefRef13"/>

<attribute type="DefRef13"/>

<AttributeType name="VideoRight"/>

<attribute type="VideoRight"/>

<AttributeType name="GuestShareflag"/>

<attribute type="GuestShareflag"/>

<AttributeType name="SwapFlag"/>

<attribute type="SwapFlag"/>

</ElementType>

</Schema>

<Schema name="GuestOutSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="GuestOut" model="closed">

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="RoomNum"/>

<attribute type="RoomNum"/>

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

<AttributeType name="GuestShareflag"/>

<attribute type="GuestShareflag"/>

<AttributeType name="SwapFlag"/>

<attribute type="SwapFlag"/>

</ElementType>

</Schema>

<Schema name="GuestRemoteChkoSchema_I" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="GuestOut" model="closed">

<AttributeType name="BalanceAmount"/>

<attribute type="BalanceAmount"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="RoomNum"/>

<attribute type="RoomNum"/>

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

</ElementType>

</Schema>

<Schema name="GuestRemoteChkoSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="GuestOut" model="closed">

<AttributeType name="ClearText"/>

<attribute type="ClearText"/>

<AttributeType name="AnswerStat" required="yes"/>

<attribute type="AnswerStat"/>

<AttributeType name="GuestNum"/>

<attribute type="GuestNum"/>

<AttributeType name="RoomNum"/>

<attribute type="RoomNum"/>

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

</ElementType>

</Schema>

<Schema name="PostAnswerSchema_O" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="PostAnswer" model="closed">

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

<AttributeType name="GuestNum" required="yes"/>

<attribute type="GuestNum"/>

<AttributeType name="RoomNum"/>

<attribute type="RoomNum"/>

<AttributeType name="ClearText"/>

<attribute type="ClearText"/>

<AttributeType name="AnswerStat" required="yes"/>

<attribute type="AnswerStat"/>

</ElementType>

</Schema>

<Schema name="PostSimpleSchema_I" xmlns="urn:schemas-microsoft-com:xml-data">

<ElementType name="PostSimple" model="closed">

<AttributeType name="RequestType"/>

<attribute type="RequestType"/>

<AttributeType name="GuestNum" required="yes"/>

<attribute type="GuestNum"/>

<AttributeType name="RoomNum"/>

<attribute type="RoomNum"/>

<AttributeType name="PostType" required="yes"/>

<attribute type="PostType"/>

<AttributeType name="TotalAmount"/>

<attribute type="TotalAmount"/>

<AttributeType name="DialedDigits"/>

<attribute type="DialedDigits"/>

<AttributeType name="Duration"/>

<attribute type="Duration"/>

<AttributeType name="ClearText"/>

<attribute type="ClearText"/>

<AttributeType name="Date"/>

<attribute type="Date"/>

<AttributeType name="Time"/>

<attribute type="Time"/>

<AttributeType name="SalesOutlet"/>

<attribute type="SalesOutlet"/>

</ElementType>

</Schema>


IDRF insert script

Ivistar - IDRF Insert Script

Ivistar uses various Definable Reference (DefRef) fields:

Here is a table which shows the info which Ivistar is expecting:

DefRef1 Member-ID

DefRef2 Company

DefRef3 Gender

DefRef4 Birthday (as YYMMDD)

DefRef5 E-mail

DefRef6 Fax

DefRef7 Phone

DefRef8 MarketCode

DefRef9 Country

DefRef10 Address

DefRef11 City

DefRef12 ZIP

DefRef13 Remark2

The following script will create the necessary IDRF entries for you:

delete from idrf where idrf.IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'GuestFormattedName');

UPDATE IDRF SET IDRF_CONDITION = 'TITLE||'' ''||LASTNAME GuestFormattedName'

WHERE IDRF_LONGDESC='GuestFormattedName' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'DefRef2');

UPDATE IDRF SET IDRF_CONDITION = 'COMPANY DefRef2'

WHERE IDRF_LONGDESC='DefRef2' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'DefRef8');

UPDATE IDRF SET IDRF_CONDITION = 'MARKETCODE DefRef8'

WHERE IDRF_LONGDESC='DefRef8' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_RESERVATIONSEARCH', 'DefRef13');

UPDATE IDRF SET IDRF_CONDITION = 'REMARK2 DefRef13'

WHERE IDRF_LONGDESC='DefRef13' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef1');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_MEMBER_ID_6 DefRef1 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef1' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef3');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_GENDER DefRef3 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef3' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef4');

UPDATE IDRF SET IDRF_CONDITION = 'TO_CHAR(GUEST_BIRTHDAY, ''YYMMDD'') DefRef4 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef4' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef5');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_EMAIL DefRef5 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef5' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef6');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_FAX DefRef6 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef6' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef7');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_PHONE DefRef7 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef7' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef9');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_COUNTRY DefRef9 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef9' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef10');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ADDRESS1 DefRef10 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef10' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef11');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_CITY DefRef11 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef11' and IDRF_ICFG_ID=&ICFG_ID;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

seq_idrf.nextval, &ICFG_ID, 'V8_IFC_PROFILESEARCH', 'DefRef12');

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ZIP DefRef12 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_LONGDESC='DefRef12' and IDRF_ICFG_ID=&ICFG_ID;

commit;


IFC8Config.Xml

<IFC8>
  <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1">
  <COMM
Layer1="COM"
CheckState="N"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
  <PROT
Layer2="LLC_NKT"
CheckSum="CKS_NONE"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
  <LLC_NKT
NKT_IgnoreChecksum="N"
NKT_PollingTimeout="2000"
LLC_SendRetries="4"
LLC_ACKTimeOut="4000"
NKT_SendENQ="1"
LLC_ENQRetries="4"
LLC_ENQTimeOut="4000"
NKT_Use_EOT_like_ACK="1"
/>
</PROT>
  <PARSE
FktLogo="SRS"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
<SRS />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
  <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
  <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
  <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
  <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
  <GENERAL
ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            GetPathId="PathId"
            PathIdX="PMS1">
<COMM Layer1="COM"
                    CheckState="N"
                    Port="1"
                    Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_JIS"
                    CheckSum="CKS_XOR"
                    RecMaxLength="64000"
                    RecBuffTimeOut="35000"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="X">
  <LLC_JIS
JIS_ENQ_String="49;50;5"
JIS_Record_Header=""
JIS_IncomingRecord_RemoveHeader="0"
JIS_AnswerRVIWithEOT="N"
JIS_CheckForTrailingENQs="Y"
LLC_ENQTimeOut="5000"
LLC_ENQRetries="7"
/>
</PROT>
<PARSE FktLogo="MCR"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
<MCR />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="Y"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1">
- <PARSE
FktLogo="NHC"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ParseCharSet="20127"
CharPlaceHolder_Def="|GE_UML||">
<NHC NHC_ACKRecordTimeout="0" />
  <Language
Lang_Default="Default"
Lang_EN="English"
Lang_FR="French"
Lang_DE="German"
Lang_IT="Italian"
Lang_ES="Spanish"
Lang_PT="Portuguese"
Lang_NL="hollandese"
Lang_TR="turkish"
Lang_RU="russian"
Lang_EL="EL"
Lang_JA="Japanese"
/>
<VIP VIP_Default="" VIP_1="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
  <COMM
Layer1="TCP"
CheckState="Y"
Port="5002"
Param="LOCAL"
/>
- <PROT
Layer2="LLC_NHC"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
  <LLC_NHC
NHC_IgnoreChecksum="N"
LLC_ACKTimeOut="5000"
LLC_SendRetries="3"
/>
</PROT>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="N"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use default Printer definition" />
</PMS1>
- <GENERAL
ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific interface setup

The C/I record contains multiple Defref fields. These are used as follows:

DefRef1 Street1

DefRef2 Street2

DefRef3 City

DefRef4 State

DefRef5 Zip

DefRef6 Country

DefRef7 Company

DefRef8 Comment1-Comment 4, fields filled with max 40 chars each


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1">
- <COMM
Layer1="COM"
CheckState="N"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
- <PROT
Layer2="LLC_BMP"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="Y"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="1"
BMP_SendLeadingZero="0"
BMP_SendTrailingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_ETXSelector="0"
BMP_SupportEmbeddedACK="N"
BMP_SupportACKsInRecord="0"
/>
</PROT>
- <PARSE
FktLogo="NRA"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
<NRA />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5505"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="5" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
- <GENERAL
ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

The NIRA system supports some specific comands which need to be setup by using the "Data Through Submenu":

As insert script: (NOTE: IDs need to be adjusted from this script !!!)

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1053, 'Nira Pager', 'PAGER', 0, NULL,

0, 1);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1054, 'Update Nira - Page', 'PAGER_CHECKIN_PAGE', 0, NULL,

1053, 2);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1055, 'Room Number', NULL, 1, 'S',

1054, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1056, 'Update Nira - No Page', 'PAGER_CHECKIN_NOPAGE', 0, NULL,

1053, 2);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1057, 'Room Number', NULL, 1, 'S',

1056, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1058, 'Checkout - Page', 'PAGER_CHECKOUT_PAGE', 0, NULL,

1053, 2);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1059, 'Checkout - No Page', 'PAGER_CHECKOUT_NOPAGE', 0, NULL,

1053, 2);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1060, 'Room Number', NULL, 1, 'S',

1059, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1061, 'Room Number', NULL, 1, 'S',

1058, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1062, 'Butler Message', 'PAGER_TEXT_SET', 0, NULL,

1053, 2);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1063, 'Room Number', NULL, 1, 'S',

1062, 3);

COMMIT;


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
GetPathId="PathId"
PathIdX="PMS1">
- <COMM
Layer1="COM"
CheckState="N"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
- <PROT
Layer2="LLC_HCZ"
CheckSum="CKS_HCZ"
RecMaxLength="64000"
RecBuffTimeOut="2000"
MaxStackCount="32"
ReInit_On_ExpEnq="X">
  <LLC_HCZ
LLC_ACKTimeOut="5000"
HCZ_ENQValidityTimeOut="25000"
LLC_SendRetries="3"
/>
</PROT>
- <PARSE
FktLogo="HCZ"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
GetParseConfig="GetParseConfig"
LA_TimeOut="3000"
ReInit_On_LnkErr="Y"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
<HCZ HCZ_CommandTimeout="25000" />
</PARSE>
  <MON
MonDetail="4"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(0) Use standard Printer definition" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
- <GENERAL
ConfAllowed="Y"
ErrorEMail="N"
PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

This interface is based on FIAS and does not need any specific setup.

FKT-Logo = FIAS_GLV


Specific Interface Setup

This interface is based on FIAS and does not need any specific setup.

FKT-Logo = FIAS_OCS


Specific Interface Setup

This interface is based on FIAS and does not need any specific setup.

FKT-Logo = FIAS_VBP


Sample Ifc8Config.Xml

As of IFC8 version 8.2.x.x for RS232 connections (Full Duplex):

<IFC8>
<IFC1 ConfAllowed="Y" Simulation="N" Log="Y" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId" SetPathId1="1">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" MonCharSet="255" LogFileName=".\<FktLogo>_<ObjName>.RTF" />
<PARSE FktLogo="FIAS" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<FIAS EFT_RequestTimeout="80%" DLS_RequestTimeout="80%" ChargeOutMultiply="100" GetInLineSchema="GetLogSchema" />
<FIAS_HOV EFT_RequestTimeout="20" DLS_RequestTimeout="80%" ChargeOutMultiply="100" GetInLineSchema="GetLogSchema" Dls_RequestTimeout="20" />
</PARSE>
<PROT Layer2="LLC_FDX" CheckSum="LRC" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="N">
<LLC_FDX LLC_ACKTimeOut="3000" LLC_ENQTimeOut="3000" LLC_ENQRetries="3" LLC_ACKValidity="4000" LLC_SendRetries="0" FDX_PostACKDelay="0" LLC_XONTimeout="10000" />
</PROT>
<COMM Layer1="COM" CheckState="Y" Port="1" Param="9600,N,8,1" />
</IFC1>
<PMS1 ConfAllowed="Y" Simulation="Y" Log="Y" MonDetail="3" MonType="CHR" LogLength="500000" Required="Y" FktLogo="SERV" IfcNum="1" MsqTcpPort="5500" MsqTcpDns="N" Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckSum="N" Layer2="N" RecMaxLength="64000" CheckState="Y" DatascopeType="CHR" RecBuffTimeOut="500" RefNum="20" WSNum1="IFC1" WSNumX="IFC1" XmlDecl="N">
<MON MonShowState="N" MonType="CHR" MonDetail="3" MonCharSet="0" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" />
<PARSE FktLogo="SERV" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<PROT Layer2="LLC_SIM" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" MaxStackCount="32">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<COMM Layer1="DBS" CheckState="Y" Port="GlobalDbsConnect" Param="0">
<DBS DbsDebugMode="N" MsqTcpDns="N" MsqTcpPort="5501" />
</COMM>
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="v8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef IFC8="" />
</GENERAL>
</IFC8>

Half Duplex:

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1">
<COMM Layer1="COM" CheckState="Y" Port="1" Param="9600,N,8,1" />
<PROT Layer2="LLC_HDX" ReInit_On_ExpEnq="N" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500">
<LLC_HDX HDX_CheckSumPos="0" HDX_IgnoreChecksum="N" LLC_ACK_Mode="0" HDX_AnswerENQWithNAK="0" HDX_StartRetriesWithENQ="0" LLC_ENQTimeOut="8000" LLC_ENQRetries="4" />
</PROT>
<PARSE Simulation="N" FktLogo="FIAS" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<Language Lang_Default="0" Lang_EA="1" Lang_FR="2" Lang_GE="3" Lang_IT="4" Lang_JA="5" Lang_SP="6" />
<VIP VIP_Default="1" VIP_1="3" VIP_2="4" VIP_3="5" />
<FIAS EFT_RequestTimeout="80%" BillViewMultiply="100" DLS_RequestTimeout="80%" ChargeOutMultiply="100" GetInLineSchema="GetLogSchema" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>

For TCP/IP connections:

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="TCP/S" CheckState="Y" Port="500 1" Param="local" />
<PROT Layer2="N" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="2000">
<LLC_FDX LLC_ACKTimeOut="3000" LLC_ACKValidity="2000" />
</PROT>
<PARSE Simulation="N" FktLogo="FIAS" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<Language Lang_Default="0" Lang_EA="1" Lang_FR="2" Lang_GE="3" Lang_IT="4" Lang_JA="5" Lang_SP="6" />
<VIP VIP_Default="1" VIP_1="3" VIP_2="4" VIP_3="5" />
<FIAS EFT_RequestTimeout="30" BillViewMultiply="100" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5502" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>


IFC8Config.Xml

Config.Xml as of IFC8.2.x.x

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,N,8,1" CheckState="Y" />
<PROT CheckSum="AXOR" Layer2="LLC_BMP" RecMaxLength="64000" RecBuffTimeOut="2000">
 <LLC_BMP
BMP_SendEnq="0" BMP_CheckSumPos="1" BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N" BMP_IgnoreChecksum="N" BMP_SendLeadingZero="0" BMP_AnswerEnqWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_EnqTimeOut="8000" LLC_ACKTimeOut="3000" LLC_EnqRetries="4" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" />
</PROT>
<PARSE Simulation="N" FktLogo="A41" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
 <A41
UseUnits="0" A41_COS_Bar="00" A41_COS_Unbar="04" A41_COS_Local="04" A41_COS_National="04" A41_DND_Enable_Value="2" A41_SendVoicemailOpen="0"
A41_Use8digitExtensions="0" A41_ProcessIncomingCalls="0"
A41_ReplyWakeupResult="0" />
<Language Lang_Default="0" Lang_EA="1" Lang_FR="2" Lang_GE="3" Lang_IT="4" Lang_JA="5" Lang_SP="6" />
<VIP VIP_Default="1" VIP_1="3" VIP_2="4" VIP_3="5" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="32000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" SetupIRMS="IRMS" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="32000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="super" User="V8Live" Alias="FOV8" DbsConfig="ICFG(0)" SetupIRMS="IRMS"/>
</GENERAL>
</IFC8>

Config.Xml for IFC8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="A41"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="AXOR"

Layer2="LLC_BMP"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

RefNum="20"

XmlDecl="N"

UseUnits="0"

A41_COS_Bar="00"

A41_COS_Unbar="04"

A41_COS_Local="04"

A41_COS_National="04"

A41_DND_Enable_Value="2"

A41_Use8digitExtensions="0"

A41_ProcessIncomingCalls="0"

A41_ReplyWakeupResult="0"

Lang_Default="0"

Lang_EA="1"

Lang_FR="2"

Lang_GE="3"

Lang_IT="4"

Lang_JA="5"

Lang_SP="6"

VIP_Default="1"

VIP_1="3"

VIP_2="4"

VIP_3="5"

BMP_SendEnq="0"

BMP_CheckSumPos="1"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5592"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8live"

Alias="V8"/>

</GENERAL>

</IFC8>


IFC8Config.Xml

Config.Xml as of IFC8.2.x.x

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,N,8,1" CheckState="Y" />
<PROT CheckSum="AXOR" Layer2="LLC_BMP" RecMaxLength="64000" RecBuffTimeOut="2000">
 <LLC_BMP
BMP_SendEnq="0" BMP_CheckSumPos="1" BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N" BMP_IgnoreChecksum="N" BMP_SendLeadingZero="0" BMP_AnswerEnqWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_EnqTimeOut="8000" LLC_ACKTimeOut="3000" LLC_EnqRetries="4" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" />
</PROT>
<PARSE Simulation="N" FktLogo="A42" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
 <A42
UseUnits="0" A42_COS_Bar="00" A42_COS_Unbar="04" A42_COS_Local="04" A42_COS_National="04" A42_DND_Enable_Value="2" A42_SendVoicemailOpen="0"
A42_Use8digitExtensions="0" A42_ProcessIncomingCalls="0"
A42_ReplyWakeupResult="0" />
<Language Lang_Default="0" Lang_EA="1" Lang_FR="2" Lang_GE="3" Lang_IT="4" Lang_JA="5" Lang_SP="6" />
<VIP VIP_Default="1" VIP_1="3" VIP_2="4" VIP_3="5" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5503" MsqTcpDns="N" SetupIRMS="IRMS" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS"/>
</GENERAL>
</IFC8>

Config.Xml for IFC8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="A42"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="AXOR"

Layer2="LLC_BMP"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

RefNum="20"

XmlDecl="N"

UseUnits="0"

A42_COS_Bar="00"

A42_COS_Unbar="04"

A42_COS_Local="04"

A42_COS_National="04"

A42_DND_Enable_Value="1"

A42_Use8digitExtensions="0"

A42_ProcessIncomingCalls="0"

A42_ReplyWakeupResult="0"

Lang_Default="0"

Lang_EA="1"

Lang_FR="2"

Lang_GE="3"

Lang_IT="4"

Lang_JA="5"

Lang_SP="6"

VIP_Default="1"

VIP_1="3"

VIP_2="4"

VIP_3="5"

BMP_SendEnq="0"

BMP_CheckSumPos="1"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5593"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

Config.Xml as of IFC8.2.x.x

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,N,8,1" CheckState="Y" />
<PROT CheckSum="AXOR" Layer2="LLC_BMP" RecMaxLength="64000" RecBuffTimeOut="2000">
 <LLC_BMP
BMP_SendEnq="0" BMP_CheckSumPos="1" BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N" BMP_IgnoreChecksum="N" BMP_SendLeadingZero="0" BMP_AnswerEnqWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N" LLC_EnqTimeOut="8000" LLC_ACKTimeOut="3000" LLC_EnqRetries="4" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" />
</PROT>
<PARSE Simulation="N" FktLogo="A43" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
 <A43
UseUnits ="0"
A43_COS_Bar ="00"
A43_COS_Unbar="04" A43_COS_Local="04" A43_COS_National="04" A43_DND_Enable_Value="2" A43_SendVoicemailOpen ="0"
A43_Use8digitExtensions ="0"
A43_ProcessIncomingCalls ="0"
A43_ReplyWakeupResult ="0" />
<Language Lang_Default="0" Lang_EA="1" Lang_FR="2" Lang_GE="3" Lang_IT="4" Lang_JA="5" Lang_SP="6" />
<VIP VIP_Default="1" VIP_1="3" VIP_2="4" VIP_3="5" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" SetupIRMS="IRMS" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS"/>

</GENERAL>
</IFC8>

Config.Xml for IFC8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="A43"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="AXOR"

Layer2="LLC_BMP"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

RefNum="20"

XmlDecl="N"

UseUnits="0"

A43_COS_Bar="00"

A43_COS_Unbar="04"

A43_COS_Local="04"

A43_COS_National="04"

A43_DND_Enable_Value="2"

A43_SendVoicemailOpen="0"

A43_Use8digitExtensions="0"

A43_ProcessIncomingCalls="0"

A43_ReplyWakeupResult="0"

Lang_Default="0"

Lang_EA="1"

Lang_FR="2"

Lang_GE="3"

Lang_IT="4"

Lang_JA="5"

Lang_SP="6"

VIP_Default="1"

VIP_1="3"

VIP_2="4"

VIP_3="5"

BMP_SendEnq="0"

BMP_CheckSumPos="1"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

Log="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="1"

MsqTcpPort="5591"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="V8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Ifc8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,N,8,1" CheckState="Y" />
<PROT CheckSum="LRC" Layer2="LLC_FDX" RecMaxLength="64000" RecBuffTimeOut="2000">
<LLC_FDX LLC_ACKTimeOut="5001" LLC_ACKValidity="2001" />
</PROT>
<PARSE Simulation="N" FktLogo="CTG_AVC" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<CTG_AVC CTG_AVC_EncoreMode="Y" CTG_AVC_SendLanguageRecord="Y" />
<Language Lang_Default="01" Lang_EA="01" Lang_FR="02" Lang_GE="03" Lang_IT="04" Lang_JA="05" Lang_SP="06" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5500" MsqTcpDns="N" SetupIRMS="IRMS" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="1" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" />
</GENERAL>
</IFC8>

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="AVC"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="LRC"

Layer2="LLC_FDX"

LLC_ACKTimeOut="5000"

LLC_ACKValidity="2000"

AVC_EncoreMode="Y"

AVC_SendLanguageRecord="Y"

Lang_Default="01"

Lang_EA="01"

Lang_FR="02"

Lang_GE="03"

Lang_IT="04"

Lang_JA="05"

Lang_SP="06"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="2000"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="4"

MsqTcpPort="5677"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="super"

User="saarow"

Alias="FOV8"/>

</GENERAL>

</IFC8>


Specific Interface Setup

This driver will be used for Micros' Off-line capabilities in the future.

This driver is currently NOT available for installation.


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y"
            RefNum="20"
            WSNum99="PMS1"
            WSNumX="PMS1"
            PathId1="PMS1"
            PathIdX="PMS1"
            GetPathId="PathId"
            SetPathId1="1">
<COMM Layer1="COM"
                    Port="1"
                    Param="9600,N,8,1"
                    CheckState="N">
<COM COM_BufferMode="N" COM_PollEvents="0" />
</COMM>
<PROT Layer2="LLC_BLK"
                    CheckSum="CKS_NONE"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    MaxStackCount="32"
                    ReInit_On_ExpEnq="N">
  <LLC_BLK
BLK_CheckSumPos="0"
BLK_IgnoreChecksum="Y"
BLK_SendStartCharacter="0"
BLK_SendStopCharacter="0"
BLK_ReceiveStartCharacter="5"
BLK_ReceiveStopCharacter="0"
BLK_InitialDelay="0"
BLK_InterbyteDelay="0"
BLK_ReceiveOnTimeout="N"
/>
</PROT>
<PARSE FktLogo="OMR"
                    Simulation="Y"
                    XmlPackEmptyAttr="Y"
                    XmlDecl="N"
                    InLineSchema="N"
                    GetParseConfig="GetParseConfig"
                    LA_TimeOut="3000"
                    ParseCharSet="850"
                    CharPlaceHolder_Def="|||">
  <OMR
OMR_UmlauteFlag="_"
OMR_RequestType="1"
OMR_TableNumForVoidPostings="9999"
OMR_RoomPaymethod="0"
DoublePostingSize="0"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</IFC1>
<PMS1 Required="Y"
            RefNum="20"
            WSNum1="IFC1"
            WSNum2="IFC1"
            WSNumX="IFC1">
<COMM Layer1="DBS"
                    Port="GlobalDbsConnect"
                    Param="0"
                    CheckState="Y">
  <DBS
MsqTcpPort="5502"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
<PROT CheckSum="N"
                    Layer2="N"
                    RecMaxLength="64000"
                    RecBuffTimeOut="500"
                    ReInit_On_ExpEnq="N"
                    MaxStackCount="32">
<N ReplyTimeOut="0" EnqAckHandling="N" />
</PROT>
<PARSE Simulation="Y"
                    FktLogo="SERV"
                    XmlDecl="N"
                    XmlPackEmptyAttr="N"
                    InLineSchema="N"
                    ParseCharSet="-1">
<SERV IfcNum="2" />
</PARSE>
  <MON
MonDetail="2"
MonType="CHR"
LogLength="2000000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" PrinterName_SAM="(-1) No Printer" FormatOptions="(112) NewPage+CenterPage" PrinterName_MORDOR="(0) Use standard Printer definition" />
</PMS1>
<GENERAL ConfAllowed="Y"
            ErrorEMail="N"
            PrgCaption="IFC8">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Ifc8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1">
- <COMM
Layer1="COM"
CheckState="N"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PARSE
FktLogo="HLS_CAP"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
  <HLS_CAP
CO_Time_Default="1200"
DLS_RequestTimeout="30"
HLS_CAP_KeyOptions_Default=""
SingleThread="Y"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
MonCharSet="256"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
- <PROT
Layer2="LLC_BSC"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_BSC
LLC_MasterSlave="M"
LLC_AlternatingACK="N"
LLC_ENQTimeOut="5000"
LLC_ACKTimeOut="5000"
LLC_ENQRetries="3"
BSC_SyncCharacterList=""
/>
</PROT>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5500"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="Y"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonCharSet="0"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\<FktLogo>_<ObjName>_<dd>.RTF"
/>
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" />
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8Live"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1">
- <COMM
CheckState="N"
Layer1="COM"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PROT
Layer2="LLC_BMP"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="8000"
LLC_ACKTimeOut="1000"
LLC_ENQRetries="4"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_SupportEmbeddedACK="N"
/>
</PROT>
- <PARSE
FktLogo="NM9"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
  <NM9
CO_Time_Default="12"
CI_Time_Default="1200"
DLS_RequestTimeout="30"
Use_Track2="Y"
NM9_KeyOptions_Default=""
SingleThread="N"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\NM9_IFC1.RTF"
MonCharSet="256"
/>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="N"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\SERV_PMS1.RTF"
/>
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8LIVE"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

- <IFC8>
- <IFC1 Required="Y"
RefNum="20"
WSNum99="PMS1"
WSNumX="PMS1"
PathId1="PMS1"
PathIdX="PMS1"
GetPathId="PathId"
SetPathId1="1">
- <COMM
CheckState="N"
Layer1="COM"
Port="1"
Param="9600,N,8,1">
<COM COM_BufferMode="N" />
</COMM>
- <PROT
Layer2="LLC_BMP"
CheckSum="CKS_XOR"
RecMaxLength="64000"
RecBuffTimeOut="500"
MaxStackCount="32"
ReInit_On_ExpEnq="N">
  <LLC_BMP
BMP_UseETXforChecksum="Y"
BMP_UseSTXforChecksum="N"
BMP_CheckSumPos="0"
BMP_IgnoreChecksum="N"
BMP_SendENQ="0"
BMP_SendLeadingZero="0"
BMP_AnswerENQWithNAK="0"
BMP_StartRetriesWithENQ="0"
BMP_IgnoreNAKs="N"
LLC_ENQTimeOut="8000"
LLC_ACKTimeOut="1000"
LLC_ENQRetries="4"
LLC_SendRetries="3"
BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0"
BMP_PostACKDelay="0"
BMP_IgnoreENQWhileSending="N"
BMP_IgnoreRecsWhileWaitForACK="N"
BMP_STXSelector="0"
BMP_SupportEmbeddedACK="N"
/>
</PROT>
- <PARSE
FktLogo="NM1"
Simulation="Y"
XmlPackEmptyAttr="Y"
XmlDecl="N"
InLineSchema="N"
ParseCharSet="850"
CharPlaceHolder_Def="|||">
  <NM1
CO_Time_Default="12"
CI_Time_Default="1200"
DLS_RequestTimeout="30"
Use_Track2="Y"
NM1_KeyOptions_Default=""
SingleThread="N"
/>
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
LogFileName=".\NM1_IFC1.RTF"
MonCharSet="256"
/>
</IFC1>
- <PMS1 Required="Y"
RefNum="20"
WSNum1="IFC1"
WSNum2="IFC1"
WSNumX="IFC1">
- <COMM
Layer1="DBS"
Port="GlobalDbsConnect"
Param="0"
CheckState="Y">
  <DBS
MsqTcpPort="5501"
MsqTcpDns="N"
DbsDebugMode="N"
/>
</COMM>
- <PROT
CheckSum="N"
Layer2="N"
RecMaxLength="64000"
RecBuffTimeOut="500"
ReInit_On_ExpEnq="N"
MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
- <PARSE
Simulation="Y"
FktLogo="SERV"
XmlDecl="N"
XmlPackEmptyAttr="N"
InLineSchema="N"
ParseCharSet="-1">
<SERV IfcNum="1" />
</PARSE>
  <MON
MonDetail="3"
MonType="CHR"
LogLength="1500000"
MonShowState="N"
MonTimeFormat="hh:nn:ss"
MonDateFormat="mm.dd"
SavPeriod="60"
MonCharSet="0"
LogFileName=".\SERV_PMS1.RTF"
/>
</PMS1>
- <GENERAL ConfAllowed="Y" ErrorEMail="N">
  <GlobalDbsConnect0
Pwd="live"
User="V8LIVE"
Alias="V8"
DbsConfig="ICFG(0)"
SetupIRMS="IRMS"
/>
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

No special setup necessary, this I/F is based on FIAS.

Note: CI3 uses Half-Duplex !!!


Ifc8Config.Xml

Config.Xml as of IFC8.2.x.x

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1">
<COMM Layer1="COM" Port="1" Param="9600,N,8,1" CheckState="Y" />
<PROT CheckSum="LRC" Layer2="LLC_BMP" RecMaxLength="64000" RecBuffTimeOut="2000">
 <LLC_BMP
BMP_UseETXforChecksum="N" BMP_SendEnq="0" BMP_CheckSumPos="0" BMP_SendLeadingZero="0" BMP_AnswerEnqWithNAK="0" BMP_StartRetriesWithENQ="0"
BMP_IgnoreChecksum="N" BMP_IgnoreNAKs="N" BMP_UseSTXforChecksum="N"
LLC_EnqTimeOut="8000" LLC_ACKTimeOut="3000" LLC_EnqRetries="4" BMP_AddDLEtoCtrlChars="N"
BMP_ACKAnswerDelay="0" BMP_PostACKDelay="0" />
</PROT>
<PARSE Simulation="N" FktLogo="CCC" XmlDecl="N" InLineSchema="N" XmlPackEmptyAttr="Y">
<CCC EFT_RequestTimeout="40" CCC_DeviceID_Selector="0" CCC_SendTimeRecord="N" CCC_DeviceID_Default="0" CCC_DeviceID_AR="0" CCC_DeviceID_CN="0" CCC_DeviceID_DP="0" CCC_DeviceID_OT="0" />
</PARSE>
<MON MonDetail="2" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="255" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5505" MsqTcpDns="N" DbsDebugMode="N" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" />
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N">
<SERV IfcNum="5" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" />
</PMS1>
<GENERAL ConfAllowed="Y">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
</GENERAL>
</IFC8>

Config.Xml for IFC8.1.x.x

<IFC8>

<IFC1

ConfAllowed="Y"

Simulation="N"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="CCC"

Layer1="COM"

Port="1"

Param="9600,N,8,1"

CheckSum="LRC"

Layer2="LLC_BMP"

RecMaxLength="64000"

CCC_DeviceID_Selector="0"

CCC_SendTimeRecord="N"

BMP_SendEnq="0"

BMP_CheckSumPos="0"

BMP_SendLeadingZero="0"

BMP_AnswerEnqWithNAK="0"

BMP_StartRetriesWithENQ="0"

BMP_IgnoreChecksum="N"

BMP_IgnoreNAKs="N"

BMP_UseETXforChecksum="N"

EFT_RequestTimeout="40"

RecBuffTimeOut="2000"

CheckState="Y"

DatascopeType="CHR"

RefNum="20"

XmlDecl="N"

InLineSchema="N"

WSNum99="PMS1"

WSNumX="PMS1">

</IFC1>

<PMS1

ConfAllowed="Y"

Simulation="Y"

MonDetail="3"

MonType="CHR"

LogLength="500000"

Required="Y"

FktLogo="SERV"

IfcNum="3"

MsqTcpPort="5650"

MsqTcpDns="Y"

Layer1="DBS"

Port="GlobalDbsConnect"

Param="0"

CheckSum="N"

Layer2="N"

RecMaxLength="64000"

CheckState="Y"

DatascopeType="CHR"

RecBuffTimeOut="500"

RefNum="20"

WSNum1="IFC1"

WSNum2="IFC1"

WSNumX="IFC1"

XmlDecl="N">

</PMS1>

<GENERAL>

<GlobalDbsConnect0

Pwd="live"

User="v8live"

Alias="V8"/>

</GENERAL>

</IFC8>


Specific Setup of the FIAS_CPA_FO6 driver

Specific Setup of the FIAS-CPA-FO6 driver

This driver is also known under the name "CPS" and has been designed for Maritim Hotels in Germany.

There is no CPS-Server application. CPS software runs on EFT-Terminals, which are connected to PMS-workstation via RS232.

Connectivity is done through 1 Master-IFC8 connecting to the PMS, which has multiple IFC-objects.

These IFC-objects connect to further instances of IFC8 which are installed on the respective workstations (-> Routing by WsNum in the PMS-Object of the 'Master-IFC8!!)

The functionality includes:

  • Creditcard TypeCheck

  • Creditcard Authorizations

  • Creditcard Settlements

  • Handling of German "EC-Karte"

  • Import of profile information from the "Maritim Partner Card"

  • Export of guest-stay information (Courtesy card handling base on nightly export)

  • Payment via Maritim Partner Card (with two options: "Use Points" or "Use as Creditcard")

  1. Import of profile Data to V6:

The terminal will pass profile data to the local IFC8.Exe once a Maritim partner card was inserted to the EFT-terminal.

IFC will take the information and will create a TXT in the directory as defined in FoDataImportPath="G:\FIDELIO\FO_DATA\CPA\IMPORT" in it's config.Xml.

All instances of IFC8 need to have the same configuration for this path. Thus only once instance of CPSConv.Exe needs to be started. CPSConv.Exe is a custom executable done for Maritim to import the Profiledata to V6. The information will be matched up against existing GAESTEST records so that no duplicate entries will be generated.

  2. Export Courtesy information from the PMS

A special routines needs to be added to the NA, which will export data about guests stays to a TXT file in a defined directory.

IFC8 will search this directory upon receiving the NA-start command and will then extract the data from the TX and will send it to one of the CPS terminals. (All terminals are capable of accepting this information.)

IFC8 will wait for CPS to acknowledge each of the records contained in this TXT file. IFC8 will internally store a record if it can not be passed over to CPS at this point. Unprocessable records will be discarded after 1 week of tries.

Files are transferred via the directory which is defined in FoDataExportPath="G:\FIDELIO\FO_DATA\CPA\EXPORT" in the respective Config.Xml.

Linkrecords:

-1>[0/0]LS|DA051219|TI123953|
-->12:39:53 received DATA

-1>[0/0]LD|DA051219|TI013702|V#1.0|RT2|IFEF|
-->12:42:43 received DATA

-1>[0/0]LR|RINS|FLDATI|
-->12:42:43 received DATA

-1>[0/0]LR|RINA|FLDATI|
-->12:42:44 received DATA

-1>[0/0]LR|RI$U|FLS#$2$#$DG#$C$TWS|
-->12:42:44 received DATA

-1>[0/0]LR|RI$A|FL$#$D$2G#S#TA$+CTAS$RWS|
-->12:42:43 received DATA

-1>[0/0]LR|RI$S|FL$#$2$3$D$RASINCTG#S#TA$CWS$J|
-->12:42:44 received DATA

-1>[0/0]LR|RI$H|FLRTG#RN$#GANIWSCTASGTGFGNA0A1A2A3A4A5A6A7A8X1X2X3X4X5X6X7|
-->12:42:44 received DATA

-1>[0/0]LA|DA051219|TI124244|
-->12:42:44 received DATA

<1-[0/0]LA|DA051219|TI123820|
<--12:42:44 sent DATA

Further configuration:

The CPS system allows payment by Maritim-Partner-Card and EC=Card. However, these cards can not be swiped in the PMS but need to be read directly on the terminal.

Subsequently no cardnumber can be entered into the PMS for these payment methods. In order to notify the CPS system of the payment method which should be used, the user must enter some information into the cardnumber field, which relates to this payment method. (All method are setup as Type "ZZ" in the PMS to disable cardtype checking in the PMS.)

"e" = EC=card

"p" = Use Maritim Partner card and pay with points

"r" = Use Maritim partner card but pay with credit

These values are examples. The used values can be changed but need to be entered into the IFC8 Confg.Xml accordingly:

CreditcardNum_ELV_PIN="e" CreditcardNum_CPA="p" CreditcardNum_CPR="r"

Examples:

Settlement of a credit card (accepted):

[06.23/08:12:13] => <CcSettl xmlns="x-schema:CcSettlSchema_O"
 CreditcardNum="4257xxxxxxxx4931" ExpyDate="0605" GuestNum="134421"
 SequenceNum="13" TotalAmount="148,00" CardUsage="1"
 WSNum="00C0A8F319AB"/>

[06.23/08:12:13] <-$S|$#4257xxxxxxxx4931|$D0506|G#134421|S#13|TA148.00|$C1|WS00C0A8F319AB|'

[06.23/08:12:40] ->$S|S#13|G#134421|IN32|ASOK|CTTerminal: Transaktion erfolgreich|$J68028272-007017|WS00C0A8F319AB|g

[06.23/08:12:40] <= <CcSettl xmlns="x-schema:CcSettlSchema_I"
 AnswerStat="OK" IssueNumber="32" ClearText="Terminal:
 Transaktion erfolgreich" GuestNum="134421" SequenceNum="13"
 WSNum="00C0A8F319AB" TransNum="68028272-007017"/>

Settlement of a EC-Card (denied):

[06.23/08:37:40] => <CcSettl xmlns="x-schema:CcSettlSchema_O"
 CreditcardNum="e" ExpyDate="1111" GuestNum="134753"
 SequenceNum="16" TotalAmount="70,00" CardUsage="1"
 WSNum="00C0A8F319AB"/>

[06.23/08:37:41] <-$S|$#ELV_PIN|$D1111|G#134753|S#16|TA70.00|$C1|WS00C0A8F319AB|J

[06.23/08:38:14] ->$S|S#16|G#134753|IN16|ASDN|CTTerminal: Transaktion nicht moeglich|$J|WS00C0A8F319AB|u

[06.23/08:38:14] <= <CcSettl xmlns="x-schema:CcSettlSchema_I"
 AnswerStat="DN" IssueNumber="16" ClearText="Terminal:
 Transaktion nicht moeglich" GuestNum="134753" SequenceNum="16"
 WSNum="00C0A8F319AB"/>

Notification of Guest-Stay-data successfull):

[06.24/03:34:49] => <CcCourtesy xmlns="x-schema:CcCourtesySchema_O"
 RequestType="16" GuestNum="133718" RoomNum="304"
 CreditcardNum="627400200937256" GuestArrival="050621"
 RoomNights="1" WSNum="00C0A8F319AB" GuestFirstname="Karl-Heinz"
 GuestFormattedname="Scheling" CrossReference1="RACKA"
 CrossReference2="001"/>

[06.24/03:34:49] <-$H|RT16|G#133718|RN304|$#627400200937256|GA050621|NI1|WS00C0A8F319AB|GFKarl-Heinz|GNScheling|X1RACKA|X2001|H

[06.24/03:34:51] -> 

[06.24/03:34:54] ->$H|RT16|CTTransaction successful|ASOK|$#627400200937256|WS00C0A8F319AB|Y

[06.24/03:34:54] <- 

[06.24/03:34:55] <= <CcCourtesy xmlns="x-schema:CcCourtesySchema_I"
 RequestType="16" CreditcardNum="627400200937256" WSNum="00C0A8F319AB"
 ClearText="Transaction successful" AnswerStat="OK"/>

Import of Guestprofile data (successfull):

[06.25/19:42:12] ->$H|RT33|$#627400148600418|GT|GFAngela|GNGeissler|A0Salzufler Str.89|A1Bielefeld|A2|A333719|A4D|A5|A6|A7""|A819570830|X1Keine Firma angegeben|X2|X3|X4|X5|X6|X7|-

[06.25/19:42:12] => <CcCourtesy xmlns="x-schema:CcCourtesySchema_O"
 RequestType="33" CreditcardNum="627400148600418" ClearText="Command
 or request successful" AnswerStat="OK" GuestFirstname="Angela"
 GuestFormattedname="Geissler" DefRef1="Salzufler Str.89"
 DefRef2="Bielefeld" DefRef4="33719" DefRef5="D"
 DefRef8="&quot;&quot;" DefRef9="19570830"
 CrossReference1="Keine Firma angegeben"/>

[06.25/19:42:12] <-$H|RT33|$#627400148600418|CTCommand or request successful|ASOK|GFAngela|GNGeissler|A0Salzufler Str.89|A1Bielefeld|A333719|A4D|A7""|A819570830|X1Keine Firma angegeben|j

List of A0-A9 fields and CrossReference fields (X1-X9) as used by this system:

FIAS field | Description
X1 | COMPANY NAME
X2 | COMPANY-STREET
X3 | COMPANY - ZIP CODE
X4 | COMPANY - CITY
X5 | COMPANY - STATE
X6 | COMPANY - COUNTRY
X7 | COMPANY - PHONE
A0 | STREET
A1 | CITY
A2 | STATE
A3 | ZIP CODE
A4 | COUNTRY
A5 | PHONE
A6 | FAX
A7 | EMAIL
A8 | BIRTHDATE as "YYYYMMDD"


IFC8Config.Xml

On V6 (FIAS to IFC7):

<IFC8>
<IFC1 ConfAllowed="Y" Required="Y" GetPathId="PathId" PathIdX="PMS1" RefNum="20">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" MonCharSet="256" />
<PARSE FktLogo="FIAS_CPA_FO6" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" ParseCharSet="850" CharPlaceHolder_Def="|||">
 <FIAS_CPA_FO6
EFT_RequestTimeout="80%" FoDataImportPath ="G:\FIDELIO\FO_DATA\CPA\IMPORT"  FoDataExportPath ="G:\FIDELIO\FO_DATA\CPA\EXPORT"  CreditcardNum_ELV_PIN ="e"
CreditcardNum_CPA ="p"
CreditcardNum_CPR ="r"
FIAS_CardType_VA ="VA"
CPA_CardType_VA ="VA" />
<Language Lang_DE="DE" />
</PARSE>
<PROT Layer2="N" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" />
</PROT>
<COMM Layer1="TCP" CheckState="Y" Port="3456" Param="LOCAL" />
</IFC1>
<PMS1 ConfAllowed="Y" Simulation="Y" Log="Y" MonDetail="3" MonType="CHR" LogLength="500000" Required="Y" FktLogo="SERV" IfcNum="1" MsqTcpPort="5500" MsqTcpDns="N" Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckSum="N" Layer2="N" RecMaxLength="64000" CheckState="Y" DatascopeType="CHR" RecBuffTimeOut="500" RefNum="20" WSNum1="IFC1" WSNumX="IFC1" XmlDecl="N">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" MonCharSet="256" />
<PARSE FktLogo="FIAS" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" ParseCharSet="850">
<FIAS ChargeOutMultiply="100" />
</PARSE>
<PROT Layer2="N" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" />
</PROT>
<COMM Layer1="TCP" CheckState="Y" Port="5001" Param="LOCAL" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<SimAttrDef />
</GENERAL>
</IFC8>

On OPERA:

<IFC8>
<IFC1 ConfAllowed="Y" Simulation="N" Required="Y" GetPathId="PathId" PathIdX="PMS1" RefNum="20">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" MonCharSet="256" />
<PARSE FktLogo="FIAS_CPA_FO6" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" ParseCharSet="850" CharPlaceHolder_Def="|||">
<FIAS_CPA_FO6 EFT_RequestTimeout="80%" FoDataImportPath="G:\FIDELIO\FO_DATA\CPA\IMPORT" FoDataExportPath="G:\FIDELIO\FO_DATA\CPA\EXPORT" CreditcardNum_ELV_PIN="e" CreditcardNum_CPA="p" CreditcardNum_CPR="r" FIAS_CardType_VA="VA" CPA_CardType_VA="VA" />
<Language Lang_DE="DE" />
</PARSE>
<PROT Layer2="N" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" />
</PROT>
<COMM Layer1="TCP" CheckState="Y" Port="3456" Param="LOCAL" />
</IFC1>
<PMS1 ConfAllowed="Y" Simulation="Y" Log="Y" MonDetail="3" MonType="CHR" LogLength="500000" Required="Y" FktLogo="SERV" IfcNum="1" MsqTcpPort="5500" MsqTcpDns="N" Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckSum="N" Layer2="N" RecMaxLength="64000" CheckState="Y" DatascopeType="CHR" RecBuffTimeOut="500" RefNum="20" WSNum1="IFC1" WSNumX="IFC1" XmlDecl="N">
<MON MonShowState="N" MonType="CHR" MonDetail="3" LogLength="2500000" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" MonCharSet="256" />
<PARSE FktLogo="OPERA" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" ParseCharSet="-1">
<OPERA IfcNum="1" LA_TimeOut="120" />
</PARSE>
<PROT Layer2="N" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="N">
<N ReplyTimeOut="0" />
</PROT>
<COMM Layer1="TCP" CheckState="Y" Port="5001" Param="LOCAL" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<SimAttrDef />
</GENERAL>
</IFC8>


IFC8Config.Xml

<IFC8>
<IFC1 Required="Y" RefNum="20" WSNum99="PMS1" WSNumX="PMS1" PathId1="PMS1" PathIdX="PMS1" GetPathId="PathId" SetPathId1="1">
<COMM Layer1="DLL_IGL" CheckState="Y" Port="C" Param="\Fidelio\IFC8\IGL_DLL">
<DLL_IGL>
<Terminal_POS_Ident Terminal_Default="00000000" Terminal_1="00003249" />
</DLL_IGL>
</COMM>
<PROT Layer2="LLC_SIM" CheckSum="N" RecMaxLength="64000" RecBuffTimeOut="500" MaxStackCount="32" ReInit_On_ExpEnq="X">
<LLC_SIM LLC_IgnoreChecksum="Y" />
</PROT>
<PARSE FktLogo="IGL" Simulation="Y" XmlPackEmptyAttr="Y" XmlDecl="N" InLineSchema="N" ParseCharSet="850" CharPlaceHolder_Def="|||">
<IGL SingleThread="Y" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" MonCharSet="256" />
<PRN PrinterName="(1) PDFCreator" PaperTray="(15) Automatically Select" PageSize="0" />
</IFC1>
<PMS1 Required="Y" RefNum="20" WSNum1="IFC1" WSNum2="IFC1" WSNumX="IFC1">
<COMM Layer1="DBS" Port="GlobalDbsConnect" Param="0" CheckState="Y">
<DBS MsqTcpPort="5501" MsqTcpDns="N" DbsDebugMode="N" SetupIRMS="IRMS" />
</COMM>
<PROT CheckSum="N" Layer2="N" RecMaxLength="64000" RecBuffTimeOut="500" ReInit_On_ExpEnq="N" MaxStackCount="32">
<N ReplyTimeOut="0" />
</PROT>
<PARSE Simulation="Y" FktLogo="SERV" XmlDecl="N" XmlPackEmptyAttr="Y" InLineSchema="N" ParseCharSet="-1">
<SERV IfcNum="6" />
</PARSE>
<MON MonDetail="3" MonType="CHR" LogLength="1500000" MonShowState="N" MonCharSet="0" MonTimeFormat="hh:nn:ss" MonDateFormat="mm.dd" SavPeriod="60" LogFileName=".\<FktLogo>_<ObjName>.RTF" />
<PRN PrinterName="(0) No Printer" PaperTray="(0) No Printer" PageSize="0" />
</PMS1>
<GENERAL ConfAllowed="Y" ErrorEMail="N">
<GlobalDbsConnect0 Pwd="live" User="V8Live" Alias="V8" DbsConfig="ICFG(0)" SetupIRMS="IRMS" />
<SimAttrDef />
</GENERAL>
</IFC8>


Specific Interface Setup

End-of-Day:

All PIN-Pads need to 'closed' and 'opened' once per day. This functionality needs to be executed manually through the submenu for all respective terminals:

Returncodes '98' and '99':

Ingelink returns errors '98' or '99' in case a transaction may have gone wrong. IFC8 will handle the trasnaction as denied and will issue an error where the user is prompted to reprint the last receipt.

Only the receipt can define if the transaction was successful. In case the payment went through the PMS operator needs to re-post the credit using an off-line payment method.

Generally:

- the EFT-terminal are connected via TCP/IP.

- IFC8 loads a DLL, passes the TCP - address of the terminal into the DLL and the DLL communicates to the terminal

Files can be found on the Micros-FTP under:

ftp.micros.com/fidelio/archive/IFC/V6_V7/Utility/Vendor_Progs_DLLs/IGL

You need to copy one DLL and the respective "Configuration.dat" to the respective subdirectory of your interface.

Example:

C:\Fidelio\IFC8\IGL\1

C:\Fidelio\IFC8\IGL\2

C:\Fidelio\IFC8\IGL\3

C:\Fidelio\IFC8\IGL\4

(You need to start one IFC-Object per attached EFT-Terminal - and do routing by WsNum in the PMS-Object.)

In the configuration.Dat you can find the TCP-Adress of the PinPad:

[TCPPinPad]

ADDRESS=192.168.178.201

IPPORT=8000

[TCP]

This contains the IP-address of the Ingelink Gateway

However, the configuration.Dat should really be configured and checked by the Inegelink/Ingenico technician.

(Detailed documentation can be obtained from your regional IFC product manager.)

The POS_IDENT (Ingenico Terminal Number) needs to be defined for every terminal:

<COMM Layer1="DLL_IGL" CheckState="Y" Port="C" Param="\Fidelio\IFC8\IGL\1">

<DLL_IGL>

<Terminal_POS_Ident ="00004567"/>

</DLL_IGL>

</COMM>

Supported Functionality:

The driver support CpPayonly and NightAuditStart/Stop as only functionalities.

Do NOT activate any kind of authorization in the PMS.

There is NO information about the used creditcardnumber returned to the PMS, so there is no crosschecking if the selected payment method was the correct one.

Receipts are returned from the system and are directly printed from IFC8 (Do not forget to install printers)

Reprint of any information is not possible at a later stage, only the very last receipt can be reprinted through the DataThrough Submenu.. (No reprint for "Night-Audit")

DataThrough menu:

- Menu settings in Setup->Miscellaneous->Global Settings- >Interfaces

- activate 'Use Data Through Submenu'

- add the following items

- EFT->MAINTENANCE->PRINT_PENDING_REVERSAL

- EFT->MAINTENANCE->PRINT_LOCAL_DATA->0 (Retail terminal)

- EFT->MAINTENANCE->PRINT_LOCAL_DATA->1 (Comm. data)

- EFT->MAINTENANCE->PRINT_LOCAL_DATA->2 (Keys)

- EFT->MAINTENANCE->PRINT_LOCAL_DATA->3 (System data)

- EFT->MAINTENANCE->PRINT_LOCAL_DATA->4 (App. data)

- EFT->MAINTENANCE->PRINT_LOCAL_DATA->5 (Emitt. prog.)

- EFT->MAINTENANCE->PRINT_LOCAL_DATA->6 (Private Label BINs)

- EFT->MAINTENANCE->PRINT_LOCAL_DATA->7 (Private Label Codes)

- EFT->MAINTENANCE->TEST_PINPAD

- EFT->MAINTENANCE->TEST_COMMUNICATION

- EFT->MAINTENANCE->MAINTENANCE_INTERVENTION

- EFT->MAINTENANCE->TYPE_APPROVAL_MODE

- EFT->MAINTENANCE->PRINT_OFFLINE_RECORDS

- EFT->MAINTENANCE->SET_DATE_AND_TIME->[Date] (Not available in latest DLL from 11/2007, but still within the test scripts.)

- EFT->SUPERVISOR->DAY_OPEN

- EFT->SUPERVISOR->DAY_CLOSE

- EFT->SUPERVISOR->DAY_REOPEN

- EFT->SUPERVISOR->FREE_FORMAT_INQUIRY

- EFT->SUPERVISOR->UPLOAD_OFFLINE_RECORDS

- EFT->SUPERVISOR->INQUIRY_LAST_TRANSACTION

- EFT->SUPERVISOR->PRINT_LAST_RECEIPT

- EFT->SUPERVISOR->AUTOMATIC_CLOSE_OPEN

- EFT->SUPERVISOR->AUTOMATIC_OPEN

- EFT->SUPERVISOR->AUTOMATIC_CLOSE

- EFT->SUPERVISOR->CREDIT_AUTHORIZATION (Amount)

- EFT->SUPERVISOR->CANCEL_CREDIT_AUTHORIZATION

- EFT->SUPERVISOR->PRIVATE_LABEL (payment code)

- EFT->SUPERVISOR->STATEMENT_INQUIRY

- EFT->SUPERVISOR->BALANCE_INQUIRY

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Insert Script for WIDT (only valid if WIDT is completely empty !!)

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1045, 'Automatic open', 'AUTOMATIC_OPEN', 0, NULL,

1018, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1046, 'Automatic close', 'AUTOMATIC_CLOSE', 0, NULL,

1018, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1047, 'Private Label BINs', '6', 0, NULL,

1032, 4);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1048, 'Private Label Codes', '7', 0, NULL,

1032, 4);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1049, 'Balance inquiry', 'BALANCE_INQUIRY', 0, NULL,

1018, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1050, 'Credit Authorization', 'CREDIT_AUTHORIZATION', 0, NULL,

1018, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1051, 'Amount', NULL, 1, 'N',

1050, 4);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1052, 'Cancel Credit Authorization', 'CANCEL_CREDIT_AUTHORIZATION', 0, NULL,

1018, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1018, 'Supervisor', 'SUPERVISOR', 0, NULL,

1011, 2);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1011, 'EFT_Commands', 'EFT', 0, NULL,

0, 1);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1020, 'Maintenance', 'MAINTENANCE', 0, NULL,

1011, 2);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1021, 'Open day', 'DAY_OPEN', 0, NULL,

1018, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1022, 'Close day', 'DAY_CLOSE', 0, NULL,

1018, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1023, 'Close and open day', 'DAY_REOPEN', 0, NULL,

1018, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1024, 'Free format inquiry', 'FREE_FORMAT_INQUIRY', 0, NULL,

1018, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1025, 'Upload offline records', 'UPLOAD_OFFLINE_RECORDS', 0, NULL,

1018, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1026, 'Inquiry Last Transaction', 'INQUIRY_LAST_TRANSACTION', 0, NULL,

1018, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1027, 'Print last receipt', 'PRINT_LAST_RECEIPT', 0, NULL,

1018, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1028, 'Set date and time', 'SET_DATE_AND_TIME', 0, NULL,

1020, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1029, 'date and time', NULL, 1, 'D',

1028, 4);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1030, 'Communication test', 'TEST_COMMUNICATION', 0, NULL,

1020, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1031, 'Pinpad test', 'TEST_PINPAD', 0, NULL,

1020, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1032, 'Print local data', 'PRINT_LOCAL_DATA', 0, NULL,

1020, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1033, 'Retail terminal', '0', 0, NULL,

1032, 4);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1034, 'Communication data', '1', 0, NULL,

1032, 4);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1035, 'Keys', '2', 0, NULL,

1032, 4);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1036, 'System data', '3', 0, NULL,

1032, 4);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1037, 'Application data', '4', 0, NULL,

1032, 4);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1038, 'Emitting program', '5', 0, NULL,

1032, 4);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1039, 'Print pending reversal', 'PRINT_PENDING_REVERSAL', 0, NULL,

1020, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1040, 'Print offline records', 'PRINT_OFFLINE_RECORDS', 0, NULL,

1020, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1041, 'Type approval mode', 'TYPE_APPROVAL_MODE', 0, NULL,

1020, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1042, 'Maintenance intervention', 'MAINTENANCE_INTERVENTION', 0, NULL,

1020, 3);

Insert into WIDT

(WIDT_ID, WIDT_DESCRIPTION, WIDT_PRECONFIG_TEXT, WIDT_TYPE, WIDT_DATATYPE,

WIDT_LINKID, WIDT_LEVEL)

Values

(1043, 'Automatic close/re-open', 'AUTOMATIC_CLOSE_OPEN', 0, NULL,

1018, 3);

COMMIT;


Configuration.Dat

[CONTROL]

TYPE=TCP

[RTC]

COMPORT=COM3

TEL=674111000

[DOV]

COMPORT=COM6

BAUD=2400

[TCP]

ADDRESS1=192.168.178.22

IPPORT1=55

[PINPAD]

TYPE=TCP

[SerialPinPad]

PORT=COM1

BAUD=9600

[USBPinPad]

TYPE=6280

[TCPPinPad]

ADDRESS=192.168.178.201

IPPORT=8000

[PAD]

E1=PROF 2

R1=HOSTSIM

TO1=3000

E2=PROF 6

R2=*

TO2=400

E3=SET 21:0

R3=*

TO3=400

E4=018710014,5854

R4=<ENQ>

TO4=4000

[PRINTER]

PRINT=NO

NAME=Lexmark X215

COL=40

H1=1B7403

F1=1B6404

F2=1D5601

USE_TBL=NO

C8C=80

C8D=82

C92=87

CA6=A1

CB0=84

CB1=8E

CB6=8B

CBF=96

CBE=99

C9B=90

CBA=9F

CAB=86

CB2=89

The C?? values under <PRINTER> define how the below characters should be translated within receipts.


FKT not in Oracle MLLG Tool

The following FKT Logos will NOT have a Part number as known from MICROS Part numbers and are NOT included into the MICROS Legacy License Generator (MLLG) tool !

Thus PMS license codes cannot be issued for these FKT’s !

These FKT Logos are only available to install with PMS Keyless Software Versions which do not have License check anymore.

New in IFC8.8.3.3

new MSC FIAS driver for "KeepingCloud" (OPERA / Suite8 FKT Logo: KPC / FIAS_KPC)

New in IFC8.8.4.1

new VSS FIAS driver for "Playroom IPTV System" (OPERA / Suite8 FKT Logo: PYR / FIAS_PYR)

new BMS FIAS driver for "Parkingwang" (OPERA / Suite8 FKT Logo: PKW / FIAS_PKW)

new WWW FIAS driver for "MagnaGate" (OPERA / Suite8 FKT Logo: MGG / FIAS_MGG)

New in IFC8.8.4.2

new VSS FIAS driver for "TigerTMS ILINK" (OPERA / Suite8 FKT Logo: TTV / FIAS_TTV)

new VSS FIAS driver for "Vodoke Link" (OPERA / Suite8 FKT Logo: VDL /FIAS_VDL)

new POS XML_POS driver for "WINHMS by Winsar Infosoft" (OPERA / Suite8 FKT Logo: WWS / XML_POS_WWS)

New in IFC8 9.6.3

new FIAS driver for TMS IFC "Wildix WGW - Wildix srl" (OPERA / Suite8 FKT IFC_WGW / FIAS_WGW) - Italy EMEA

new FIAS driver for VSS IFC "Hotel Content Management System - SGP Contracts Limited" (OPERA / Suite8 FKT IFC_HCM / FIAS_HCM) - UK EMEA

New in IFC8 9.6.4

new XML_POS driver for POS IFC "FREEDOM-POS/ FREEDOM-ePay-Omnico Group" (OPERA / Suite8 FKT IFC_FRE / XML_POS_FRE) - USA / USCAN

New in IFC8 9.6.5

new FIAS driver for VSS IFC "MeshTV Middleware Server - Bittel Asia " (OPERA / Suite8 FKT IFC_MVM / FIAS_MVM) - HK / APAC

New in IFC8 9.6.6

new FIAS driver for WWW IFC "Nevotek - Cisco Meraki Manager" - (OPERA / Suite8 FKT IFC_CMR / FIAS_CMR) - EMEA Turkey

new FIAS driver for VSS IFC "hdhtv interface - Sparkle Roll Interactive Technology Company" - (OPERA / Suite8 FKT IFC_HDH / FIAS_HDH) - APAC China

new FIAS driver for BMS IFC "Room Energy Management System - ESDL Limited" (OPERA / Suite8 FKT IFC_EDL / FIAS_EDL) - EMEA - Malta

new FIAS driver for TMS IFC "SMARTHotel - Nexlabs Pte Ltd" - (OPERA / Suite8 FKT IFC_SRH / FIAS_SRH) - APAC - Singapore

New in IFC8.9.6.10

new FIAS driver for BMS IFC "Pelican Energy Management System - Pelican Wireless Systems" (OPERA / Suite8 FKT IFC_PLC / FIAS_PLC) - USA


Interface does not start

Several reason can lead to Ifc8 not starting.

1.

  • If Ifc8 can't locate Ifc8Config.Xml the following error message comes up and IFC will not start:

  • Action:

When you don't specify a Config.Xml in the shortcut of Ifc8, then Ifc8 will look for Ifc8Config.Xml by default in the directory, where Ifc8 is located.

This scenario should only be used for testing. In a live-installation the XML should be named like "Ifc8M87.Xml" to include the FKT-Logo to make support easier.

2.

  • Upon starting IFC8 the "Eggtimer" will display (the mouse-pointer displays that your computer is busy) for a short moment and then nothing happens.

  • Action:

The Ifc8.Exe and the IfcAction.DLL installed on your computer are not compatible. Deinstall all IFC8 components, make a search on IFC*.* on your harddrive, to make sure no component is left and then reinstall Ifc8. (Deinstalling will not delete your Config.Xml, however making a back-up copy is always recommended.)

If available, check that no further components are registered, using OLE-Viewer.

Now reinstall IFC8.


Runtime Error 429: You do no have an appropriate license to use this functionality

The above error can come up when trying to access configuration:

The problem is based in an incorrect version of OraDc.Ocx. IFC8-Installshield inserts the correct version, which can be overwritten by oracle-Installshield.

Solution: Un-Install IFC8 and re-install IFC8.

How to prevent this problem:

ALWAYS install the oracle-client BEFORE running the IFC8-installshield


How do I read interface errors?

In most cases IFC8 error-messages are customized and will give you a guideline what to do to correct the problem.

In some cases an error may occur where no specific error-handler is active. Such an error may look like:

[06.07/14:55:28]

-<Error>

-Code: 38 (Err_Global)

-Source: IFC8Form/PrintOut

-Description: (SystemErrNum:482 , Description:Printer error)

Code 38: interface internal message

Source: <describes the area of the source-code where the error was raised>

Description: <describes the error. If the description starts with "SystemErrNum" this signals that the error was raised by a Visual basic component which IFC8 has loaded. - or better: the description comes from the component and is NOT coming from IFC8-source code.

For the above example the error-description on MSDN would be (Visual Basic Reference):

Printer error (Error 482)

There is some problem that prevents printing. This error has the following causes and solutions:

  • You don't have a printer installed from the Windows Control Panel.

    Open the Control Panel, double-click the Printers icon, and choose Add Printer to install a printer.

  • Your printer isn't online.

    Physically switch the printer online.

  • Your printer is jammed or out of paper.

    Physically correct the problem.

  • You tried to print a form to a printer that can accept only text.

    Switch to an installed printer that can print graphics.

so in essence it is normally a good idea to lookup these errors on MSDN or GOOGLE (or similar).


The IFC8 Development Team

The Fidelio Interface program and utilities have been written by:

  • Andreas Koehler

  • Andreas Hindelang

  • Friedemann Vorwerk


IACC

In this table account posting configuration and data is stored.

Account posting of Cash and Credit card payment can be routed to accounts based on payment methods or based on outlets or a combination of these.

If you want to link to an account by payment method, simply leave the IAAC_SAL_OUTL field empty.

Column Name | Description | Possible Values
IACC_ID | Table ID | (comparable to record-number)
IACC_ICFG_ID | Link to ICFG | In this field you need to enter the ID from ICFG = the Interface Number
IACC_IDCO_POST_TYPE | Posttype | Link to the departmentcode selection in IDCO Enter a numerical value here (e.g."3") and put the same value with a leading "A" (for Autobalancing) into the related record in IDCO to the field IDCO_POST_TYPE. (e.g."A3") Leave this field empty should you not want autobalancing for this payment method.
IACC_PAY_METH | PaymentMethod | Link to the payment method ID as it comes from the vendor system.
IACC_LONGDESCR | Text as needed | Here the paymentmethod can be defined with free entry.
IACC_SAL_OUTL | Sales Outlet | Link to the outlet ID as it comes from the vendor system.
IACC_DEST_TYPE | "0" = Room-ID "1" = Financial Account-ID "2" = FA Number (ZFAN_LONGDESC) "1" should not be used. | This information will be used, to define if the respective payment method is a room-posting or a Cash&Credit Card posting. (Room = "0", any other value: Cash & Credit Card.)
IACC_DEST_ID | ID from ZFAC or YRMS or ZFAN_ LONGDESC | Here you need to enter the ID of the target room/financial account If Dest_Type="1" enter the ZFAC_D. If DEST_TYPE="2" enter the ZFAN_LONGDESC.

NOTE:

There is currently no way to check POS-paymaster out and back in again, as that changes the ID !! When this is done in a Hotel, then the values in IACC_DEST_ID needs to be changed accordingly.


IACT

This table is used by IfcBusi.Dll to store asynchronous commands to theIFC8 during Off-line periods.

IFC8 will read all respective commands from this table upon startup and will then delete all read commands.

This table will be purely maintained by IfcBusi.Dll and IFC8.Exe DO NOT TOUCH!

Column Name | Description | Possible values
IACT_ID | IACT record ID | Unique table identifier (usually corresponding to record-number)
IACT_ICFG_ID | Link to ICFG-ID | Respective Interface ID
IACT_ACT_NAME | Action name | The record/action identifyer
IACT_DATE | Timestamp | Time when this record was added to IACT
IACT_PRIOR | Priority | Priority is defined by the action types. IFC will read record in order of the priority first and then in order of the time stamp.
IACT_SRC_IP | IP address of the FO-WKS where this command originated. |
IACT_SRC_NAME | Computername of the FO-WKS where this command originated. |
IACT_DATA | IFC-Action-XML-document | This field contains the actual command for the IFC.


IAPP


ICFG

This table includes global interface information (ex. IFC_CTRL from IFC7)

Column Name | Description | Possible values
ICFG_ID | Unique number | Row-ID always same as ICFG_IFC_NUM !! This is the unique Interface identifier for all related tables and actions.
ICFG_HOTEL_ID | Currently not used | Always "1".
ICFG_ZCAS_ID | Interface specific cashier number. | Enter the ID from ZCAS of the cashier you have added for this interface.
ICFG_ACTIVE | Defines, if this interface is currently active or not. | 1 = Active 0 = Not active
ICFG_TYPE | Defines the Interface Family or Type of this interface (e.g. PB, PO etc) IFC overwrites this field at every restart. | PB = Telephone PO = POS EF = EFT VI = Video KS = Key
ICFG_STATUS | Current or last known status of the interface. | -2 = Link End -1 = Link Start 0 = Link Alive
ICFG_VERS | Internal interface version number. Written by IFC8.Exe | e.g. V1.2.1 = IFC8 Version 8.1.2.1
ICFG_LONGDESC | Name of the interface. Will be displayed on the screens as entered in this field | e.g. "Siemens Caracas"
ICFG_ZDCO_ID | Default department code-ID for this interface | Value needs to be the ZDCO_ID from the respective department code in ZDCO
ICFG_CMD_CHK | Defines, if Check-In/Out is an activated functionality of this interface. This option is BIT-orientated as of version 8.2.2.0 !! Use IFC8 Configuration option and do not configure manually. | Bit 3 - Send a Guestdatachange (Namechange) for the remaining guest in case of a sharer room-move (only applicable for scenarios with 3 or more sharers) Bit 2 = Send RoomEquipment automatically with C/I & C/O events Bit 1 = Active, send C/I & C/O events 0 = Not active NOTE: Thet second bit must be set, if NoPost handling at C/I should be used ! Default value for most interfaces should be: "5". (= First and third bit)
ICFG_CMD_RM | Defines, if this interface supports true room-move | 0 = No true room-move supported 1 = True room-move supported
ICFG_CMD_MSG | Defines, if this interface support message handling These values can be used accumulative, so activating all three features for this interface would mean putting "7" into this field (=1+2+4) Note: "7" means, that licenses for C/I, Textmessages and Voicemail need to be active. | 0 = Not active 1 = Messagelight handling 2 = Textmessagehandling 4 = Voicemail activated The above values need to be added to activate more then one functionality. Messagetext will always overwrite messagelight, should both be support. (Message on from FO will trigger a textmessage and no light, should an IFC support both.)
ICFG_CMD_WAK | Defines, if this interface supports wake-up calls | 2 = Active, handling is on the vendor system (wakeups are send right away) 1 = Active, handling on the IFC side (Wakeups are sent at wakeup time) 0 = Not active
ICFG_CMD_VN | Defines, if this interface supports virtual number handling | 1 = Active 0 = Not active
ICFG_CMD_CC | Defines, if this is a credit card interface | 1 = Active 0 = Not active
ICFG_CMD_KEY | Defines, if this interface handles keys | 1 = Active 0 = Not active
ICFG_CMD_NA | Defines, if this interface sends Night-Audit Start and Stop commands | 1 = Active 0 = Not active Set to "1" to activate IFC's nightly maintenance routines (e.g. purge IWAC).
ICFG_CMD_BIL | Defines, if this interface supports Bill-View | 0 = Not active 1 = Active 4 = Only send those items, where DisplayFlag<> "0" 8 = Merge items by POS-ID (POS_Checknumber) Note, values can be combined as they are BIT-oriented. You need to set "1" as minimum, so the actual values "4" and "8" may never be set.
ICFG_START_DATE | Date and time, when this interface was last started | DATE / Time, written by the interface
ICFG_DLS_TYPE | Defines, what kind of key interface this is (only possible, when ICFG_CMD_KEY="1") | 0 = Room-related keys 1 = Guest-related keys CURRENTLY NOT IMPLEMENTED !!!
ICFG_ZERO_CRGE | Defines, if this interface should post Zero charges to the PMS or if Zero charges should be ignored. | 0 = Ignore Zero charges 1 = Post Zero charges
ICFG_INT_SPLT | Flag to activate internal splitting | 0 = No splitting of charges 1 = split charges as defined in ICTT_INT_SPLT

Note: All ICFG_CMD_???? values will be checked by the interface at startup. Any value which is set to "true" but which is not supported by the interface, will be overwritten automatically. A corresponding error message will be displayed like:

In this example bill-view was activated, but not supported by the "CSB" driver. IFC8 subsequently set the value in IFCG_CMD_BIL from "1" to "0".


ICRD

THE ICRD table will be used to store information about Track2 values of keycards for future identification on POS systems.

This table is used as of 8.1.7.3.

To enable functionality IDRV_TR2_NUM must be <> '0'.

This table is written by IFC8.Exe. Do NOT modify manually !!!

Column Name | Description | Possible Values
ICRD_ID | ID of the respective record | unique table identifier (usually corresponding to record-number)
ICRD_ICFG_ID | Interface Number | Link to the interface ID/Number in ICFG
ICRD_ACTIVE | Defines if this record / this card is currently valid for identification or not. Cam only be '1', if ICRD_ANSWERSTAT='OK'. | 0 = Inactive 1 = Active
ICRD_ANSWERSTAT | Defines the Status of the KeyRequest/KeyDelete Action. | OK = Card has been successfully created/deleted. (After KeyRequest/KeyDelete) See Answer Status table.
ICRD_IRMS_ID | Link to IRMS table | The extension Number's ID in IRMS. (IRMS_ID)
ICRD_YRES_ID | Reservationnumber | RESERVATIONNUMBER from V8_IFC_RES_[ICFG_ID]
ICRD_XCMS_ID | Guest/ProfileNumber | GUESTNUMBER from V8_IFC_RES_[ICFG_ID]
ICRD_KEYTYPE | Defines, if this is a new or duplicate key. | N = New Key D = Duplicate Key O = One-Shot-Key
ICRD_KEYOPTIONS | KeyOptions which were sent from the PMS during KeyRequest. | (See KeyOption Config) Format in C,20 as it is passed to the respective Driver (IFC-Object).
ICRD_TRACK1 | Reserved for future use | Reserved for future use
ICRD_TRACK2 | Data as it is written to the key (As sent to vendor, or as received from vendor, depending on IDRV_TR2_NUM settings.) | Numeric value ONLY ! Remember that ISO norm for Track2 does not allow alphanumeric values to be written to Track2 of a card.
ICRD_TRACK3 | Reserved for future use | Reserved for future use
ICRD_DATE | Date-Time stamp when a key was created/deleted. | DATE
ICRD_SEQ_NUM | Sequence number of this card. This number will be replace (counted) with every new card cut for this guest. | Numeric value, starting with '0'.


ICTD

(Time Discount Table)

This table contains info for discount calculation for unit based charges:

Column Name | Description | Possible values
ICTD_ID | Unique ID | unique table identifier (usually corresponding to record-number)
ICTD_ICFG_ID | Interface number to which this entry is related | ID from ICFG
ICTD_ICTT_ID | Tariff group or ICTT_ID, which must always have the same value | Link to ICTT
ICTD_DATE | Date range information for discount calculations | Do not modify manually, only through IFC8 config !!
ICTD_DAY | Day range information for discount calculations | Do not modify manually, only through IFC8 config !!
ICTD_TIME | Time range information for discount calculations | Do not modify manually, only through IFC8 config !!
ICTD_DISC | Multiplier for discount calculations' | Do not modify manually, only through IFC8 config !!
ICTD_LONGDESC | Describes this record | Textfield


ICTS

ICTS contains the mapping between the Line Type and the appropriate tariff group.

Linetype are defined in IRMS, tariff groups can be found in ICTT.

Note: Do NOT set records in ICTS manually, but ALWAYS sue IFC8-configuration. Especially NEVER touch ICTS_CAS records, as that would corrupt Full-CAS configuration.

Column Name | Description | Possible values
ICTS_ID | Unique ID | a number
ICTS_ICFG_ID | Interface number to which this entry is related | ID from ICFG
ICTS_ICTT_ID | Tariff group or ICTT_ID, which must always have the same value | ID from ICTT
ICTS_EXT_TYPE | Extension type, as defined in IRMS | Normally R, B or H. If other values are needed, then they MUST start with R< B, or H and may have additional selector (like R1, BF etc)
ICTS_VIP | Incomming VIP code | Should a vendor system send units AND VIP codes, then this field can be used to link different tariff groups selected by extension type AND VIP code.
ICTS_CAS_TYPE | CAS type for which this record is valid | 0/NULL = do not calculate with CallAccounting 1 = calculate with CallAccounting if TotalAmount=0 2 = calculate with CallAccounting if Units(MeterPulse)=0 3 = calculate with CallAccounting if TotalAmount=0 AND Units(MeterPulse)=0 4 = calculate always with CallAccounting
ICTS_CAS_DIAL | The dialled number (includes the 'prefix' for an external line) | Any fraction of a dialled number, no limitations for the amount of digits
ICTS_CAS_TIME | Amount of time per unit | enter the amount of seconds you want the IFC to use for unit calculation (e.g. '60' for 1 Unit per minute)
ICTS_CAS_GRACE | CallAccounting Grace period: | If negativ -> the grace period will be subtracted from the call duration If positiv -> the Call will be posted with the full Duration time if the Duration is "longer" then the value of ICAS_GRACE_TIME 0/null/empty - no support for grace time
ICTS_PCAS_PRICE | Price as TotalAmount if this record | Price in cents (NO decimal !!)
ICTS_LONGDESC | Textfield | Used to describe this record
ICTS_CAS_PRFX | Number to get an external line, called "Prefix" | Do not modify manually, only through IFC8-configuration !! normally a single digit numeric value like '0' or '1',
ICTS_CAS_TRUNK | CallAccounting: calculation based on TrunkId (PostRoute attribute) | Do not modify manually, only through IFC8-configuration !!

A sample setup (without CAS or PCA):

ICTS_ID | ICTS_ICFG_ID | ICTS_ICTT_ID | ICTS_EXT_TYPE | ICTS_VIP
1 | 1 | 2 |  |
2 | 1 | 1 | R | 0
3 | 1 | 1 | B | 0
4 | 1 | 2 | H |
5 | 1 | 3 | R | 1
6 | 1 | 3 | B | 1
7 | 1 | 4 | R1 |
8 | 1 | 5 | BF |
9 | 2 | 1 | R |
10 | 2 | 1 | B |
11 | 2 | 2 | H |

In this setup interfaces number 1 and 2 (ICTS_ICFG_ID) both use tariff groups for charge calculation.

Interface 1 has several line types configured in IRMS:

R, H and B for normal Room, House and Booth extensions, where Room and Booth use tariff group 1 and House uses tariff group 2. Then a third tariff group ("3") has been configured for Room and Booth phones, where VIP code is "1".

Further more additional extension types exist (R1 and BF) which have special tariff groups.

The record with ICTS_ID="1" is the default record for non-defined Extension-Types. You should assign an "H-Type" charge calculation for the record, as most likely administrative extension have not been configured properly.

Interface 2 uses a rather standard configuration, where Room and Booth use one tariff group and House has a second group.


ICTT

In this table all tariff groups are configured.

Column Name | Description | Possible values
ICTT_ID | Unique ID | a number, must always be the same as the actual tariff group
ICTT_ICFG_ID | ID from ICFG, defines, for which interface this entry is valid. | Interface Number e.g. "1".
ICTT_UNIT_0 | Amount of units for which this calculation is valid. = First group of units. | Enter the maximum amount of units, for which this price is valid. Interface will count from "1" to the entered amount. Value for unlimited amount of units is "-1".
ICTT_PRICE_0 | Price per unit for all units defined in ICTT_UNIT_0 | e.g. "50". Prices are entered in cents WITHOUT any decimals.
ICTT_UNIT_1 | Only necessary, if ICTT_UNIT_0 <> "-1". | Further amount of units. (Handling is the same as in IFC7)
ICTT_PRICE_1 | Price per unit for all units defined in ICTT_UNIT_1 |
ICTT_UNIT_2 | Only necessary, if ICTT_UNIT_1 <> "-1". |
ICTT_PRICE_2 | Price per unit for all units defined in ICTT_UNIT_2 |
ICTT_UNIT_3 | Only necessary, if ICTT_UNIT_2 <> "-1". |
ICTT_PRICE_3 | Price per unit for all units defined in ICTT_UNIT_3 |
ICTT_UNIT_4 | Only necessary, if ICTT_UNIT_3 <> "-1". |
ICTT_PRICE_4 | Price per unit for all units defined in ICTT_UNIT_4 |
ICTT_UNIT_5 | Only necessary, if ICTT_UNIT_4 <> "-1". |
ICTT_PRICE_5 | Price per unit for all unit defined in ICTT_UNIT_5 |
ICTT_UNIT_6 | Only necessary, if ICTT_UNIT_5 <> "-1". |
ICTT_PRICE_6 | Price per unit for all units defined in ICTT_UNIT_6 |
ICTT_INT_SPLT | Defines the internal split for the current tariff (ICFG_INT_SPLT must be enabled) | Do not change manually, ONLY through IFC8 config !!


IDCO

This table is used to configure the department code definitions of all interfaces.

Before adding any record to this table, make sure you have entered the correct and desired value to IDRV_IDCO_SELECT.

Based on these settings will IFC8 search for records in IDCO.

Former IFC-versions had a "selector"-field in the DC-databases.

IDCO has one field per possible selection value, so in the future there will not be the possibility of "typos" and similar setup problems.

Table Structure:

Column Name | Description | Possible values
IDCO_ID | IDCO-record ID | Unique table identifier (usually corresponding to record-number)
IDCO_ICFG_ID | Link to ICFG | Interface ID
IDCO_ZDCO_ID | Link to the ZDCO | This field carries the actual department code, by linking to the respective record in ZDCO.
IDCO_LONGDESC | Textfield | Description of this record
IDCO_MULTI | Multiplier | Global multiplier. Generally: Set to "1". Note: Discounts are substracted automatically by the Interface. So should a discount already have a "-" when received from the parser, then you need to set IDCO_MULTI to "-1" to avoid difference postings.
IDCO_POST_TYPE | PostType, if selected NOTE: ONLY fill this field, when you have a "P" in IDRV_IDCO_SELECT. Don't confuse with IDRV_POST_TYPE, which has nothing to do with DC selection !!!! | Post Types are: T = Units C = Charge M = Minibar This would e.g. be used for simple DC selection between Telephone and Minibar In addition this field is used to select the DC for autobalancing paymentmethods. In this case enter "Ax", where "x" is of the related value in IACC_IDCO_POST_TYPE.
IDCO_EXT_TYPE | Extension Type | Here DC selection by type would be configured. (R/H/B etc)
IDCO_SUB_TTL | SalesItemizer, PaymentMethod etc Note: Read very carefully, what the IFC displays !! Tip might be sent as ServiceChargeX or as Tip, depending on the driver !! | Use: "S1" ... "S63" for Sub-Total1...63 Use "T1" ... "T63" for Tax-Total1...63 Use "D1" ... "D63" for Discount-Total1...63 Use "C1" ... "C63" for ServiceCharge-Total1...63 Use "X1" for Tip Use "DF" for differences Discounts are always SUBSTRACTED, so if the discount amount is received with a "-" sign, then set IDCO_MULTI to "-1" for the respective record.
IDCO_SAL_OUTL | Sales Outlet |
IDCO_SERV_TIME | Serving Time/Period |
IDCO_DIAL_NUM | Dialled Number | Just enter the first or more digits in the respective record here. No extra link/table is necessary
IDCO_ROUTE | Route-Info/Trunk-ID |
IDCO_USER_ID | User ID |
IDCO_WS_NUM | WorkstationNumber | INCOMING Workstation number, not to be mixed up with PMS or IFC workstations.
IDCO_VIP | VIP-Code | ONLY if VIP-Code is included to the incoming datastring. This has NOTHING to do with a guest's VIP-code in the PMS.

Adding records is more then simple:

IFC will search for a record, where the contained combinations match and will then select the entry in the respective IDCO_ZDCO_ID for posting to the PMS.

Further features:

It is possible to add records with a " " (<blank>, NOT a "space")) in IDCO_SUB_TTL. This record should contain an outlet and/or servingtime, when this are generally used.

This "blank" record has two functionalities:

1. It works as a masterdepartment code selection for this outlet (only for missconfigurations)

2. IFC will then check, if Salesitemizer, Taxitemizer and/or Discounts have entries with the same ZDCO-ID.

Should then charges be on those respective records, will IFC route them together.

NOTE:

This can only be configured, when no "S" as default was configured. "S" will always overwrite " ".

Either you use "S" to route all undefined Itemizers together, or you add all Itemizers separately and defined the routing by having the same department code.

Example:

GuestCheck:

TotalAmount = 10.-

SalesItemizer 1 = 6.-

SalesItemizer 2 = 3.-

SalesItemizer 3 = 2.-

DiscountItemizer 1 = -1.-

Config:

S1 = ZDCO_ID 1001

S2 = ZDCO_ID 1002

S3 = ZDCO_ID 1003

D1 = ZDCO_ID 1001

With the "blank" parameter set will IFC now post:

ZDCO_ID 1001 : 5.-

ZDCO_ID 1002 : 3.-

ZDCO_ID 1003 : 2.-

Without it would post:

ZDCO_ID 1001 : 6.-

ZDCO_ID 1002 : 3.-

ZDCO_ID 1003 : 2.-

ZDCO_ID 1001 : -1.-

NOTE:

IFC will search for a record depending on the values received and the config you entered.

If you are splitting by Sales Outlet and Sales itemizer but not by time period, then make sure, that IDCO_SERV_TIME is empty. IFC will ignore this record, should it have SERV_TIME filled, even if you are not triggering for it !!

ATTENTION

Always add ALL sales-itemizers to IDCO which the POS could possibly send. handling of Default-DCs will ONLY work properly if all possible Itemizers can be found in IDCO.


IDLR

This table contains configuration for the Door-Locking-Rights:

Column Name | Description | Possible values
IDLR_ID | IDLR-record ID | unique table identifier (usually corresponding to record-number)
IDLR_ICFG_ID | Link to ICFG-ID | Interface ID
IDLR_PRIORITY | Priority of this entry, necessary when two entries with the same KEYCODE_POS exist | Priority as numeric value. Makes sure no priority exists twice !!
IDLR_XPDA_IFC_CODE | CODE as configured in PMS and as received from PMS. (XPDA_IFC_CODE) |
IDLR_KEY_CODE_POS | Position in the Keyoptions Attribute | any value from 1-20, as the field is 20 chars long. NOTE:Counting starts from the RIGHT, so to send the first position enter a "20" to this field.
IDLR_LONGDESC | Textfield for the description of this record |
IDLR_KEY_CODE_VAL | The actual value which should be send to the Driver on the selected position |


IDMP

The IDMP table is used to map FO-Workstations to the encoders of a key-system.

Table Structure:

Column Name | Description | Possible Values
IDMP_ID | IDMP-Record-ID | unique table identifier (usually corresponding to record-number)
IDMP_ICFG_ID | Link to ICFG | Interface Number
IDMP_PMS_WS | Computername | Add the PC name of the respective FO-workstation
IDMP_DLS_ID | Encoder-ID | Enter the encoder-ID for the respective FO-workstation


IDRF

This table is used to configure user-defined fields (i.e. "A-fields" from FIAS)

Valid as of 8.1.7.x:

Column Name | Description | Possible values
IDRF_ID | IDRF record ID | Unique table identifier (usually corresponding to record-number)
IDRF_ICFG_ID | Interface Number | Link to the interface ID/Number in ICFG
IDRF_VIEW_NAME | Normally: V8_IFC_RESERVATIONSEARCH | View from which the information should be taken.
IDRF_CONDITION | Definiton of the field(s) which should be used to gather the required data. | e.g. LASTNAME||', '||TITLE GuestdataChange_GuestFormattedname
IDRF_LONGDESC | Free entry | here you can describe the respective record for supporting reference.

Data from V8_IFC_RESERVATIONSEARCH can be taken without further SQL conditions in the IDRF_CONDITION. userdefinable strings are now separated with a || (double-pipe) and a ' around the actual string.

An example:

'Name: '|| LASTNAME GuestIn_GuestFormattedname

  • Text-Strings are separated by the ' .

  • Variables from the view are separated by two "pipes " ||

  • last variable is the action name and the reference, here the guestformatted name. The action name may be left out, if this definition should be valid for all actions of this IFC:

'Name: '|| LASTNAME GuestFormattedname

Note:

You may write all entries into ONE record now, as everything is in the MEMO (long) field.

Definition of Track2 for MakeKey and POS-Identification:

Attention: The below is NOT meant that you need to do the below manually. We will add the respective insert scripts to all Key-IFCs where such a kind of definition would be necessary. We just document the functionality here for trouble shooting reasons.

IDRV_TR2_NUM = 2:

Example for the standard 16-digits:

HotelId[1]/RoomNum[7] (with leading zeros)/ResNum[8] (with leading zeros)

IDRV_VIEWNAME:

V8_IFC_RESERAVTIONSEARCH

IDRF_CONDITION:

ICFG_HOTEL_ID||SUBSTR(LPAD(ROOMNUMBER,30,'0'),-7,7)||SUBSTR(LPAD(RESERVATIONNUMBER,30,'0'),-8,8) Track2

"Track2" is the attribute to be defined.

Note: In the above example you are linking to a field from ICFG. As that is not part of the V8_IFC_RESERVATIONSEARCH you need to add this link to the IDRF:

This would look like:

IDRV_VIEWNAME:

ICFG

IDRF_CONDITION:

WHERE ICFG.ICFG_ID=1 AND ICFG.ICFG_ACTIVE=1

With this entry you could now add any field from ICFG.

Explanation:

SUBSTR(LPAD(ROOMNUMBER,7,'0'),-7,7)

This means:

Value of RoomNum = "101"

LPAD fills the field roomnum with zeroes (to the left) until it has 30 digits.

Value of RoomNum = "000000000000000000000000000101"

Then we just read the last 7 digits (substring).

Value of RoomNum="0000101"

The same is then done with the reservation number.

IDRV_TR2_NUM = 3

"Under construction"

GuestFormattedname in PostAnswer:

Note: In order to use GuestFormattedname in PostAnswer (only available for some selected drivers) you MUST setup IDRF with reference to the respective action, as that influences the way how GuestFormattedname is filled in PostAnswer.


IDRF

This table is used to configure user-defined fields (i.e. "A-fields" from FIAS)

ONLY VALID UNTIL IFC8 Version 8.1.6.x !!

Column Name

Description

Possible values

IDRF_ID

IDRF record ID

Unique table identifier (usually corresponding to record-number)

IDRF_ICFG_ID

Interface Number

Link to the interface ID/Number in ICFG

IDRF_ACT_TYPE

Action Type for which this record is valid (e.g.GuestIn)

All action types, which are supported by the schemas of the respective Interface and which have the DefRefX included.

ONLY fill this field, should you want to use different settings per record type. When all records should have the same configuration, leave this field blank.

IDRF_DEFREF_NUM

Values from "-1" to "63", see below.

IDRF_VIEW_NAME

Normally:

V8_IFC_RESERVATIONSEARCH

(Currently no other choice possible.)

View from which the information should be taken.

IDRF_FIELD_NAME

Fieldname form the view. Any other values must be put between quotationmarks. e.g.:

FIRSTNAME ", "LASTNAME

Any field from the applicable view and further manual input

DefRef_Num:

These values are directly related to the values from the DefRef attributes in the schemas.

Value "-1" is hardcoded for "FormattedName" form the Reservation-Search-View.

-> Attribute name is "GuestFormattedName"

Value "0" is normally used for the Guest-Number (XCMS_ID), but can be overwritten if needed.

Default values can be configured by leaving IDRF_ACT_TYPE empty.

IDRF_ACT_TYPE might be left empty. This field is used, should you want to fill the same DefRef-Number with different values depending on the action-type.

Should you always want to send the same contents in all action-types, then you only need to define a "default" for this interface-ID.

Values from the Reservation-Search-View:

- LASTNAME

- UPLASTNAME (same as lastname, but in capitals)

- FIRSTNAME

- TITLE

- ROOMNUMBER

- ARRIVALDATE

- DEPARTUREDATE

- ADULTS

- KIDS

- LANGUAGE

- GROUPNAME

- VIP

- REMARK1

- REMARK2

- PAYMETHOD

Note:

Other values, then available from the V8_IFC_RESERVATIONSEARCH-view (like e.g. a guest''s telephone number) are NOT possible/available.

Some FIAS systems have "A-fields" looking for non-standard fields. These fields can not be filled any more with V8. All vendors have been made aware, that we do not guarantee availability of the data within the A-fields and there are no plans to change this.


IDRV

In IDRV all driver specific setting can be applied.

Below is a table with all column names and their description as well as all allowed values.

Column Name

Description

Possible values

IDRV_ID

IDRV record ID

Unique table identifier (usually corresponding to record-number)

IDRV_ICFG_ID

Interface Number

Link to the interface ID/Number in ICFG

IDRV_FEATURES

Additional features to be activated, all values are separated by a "pipe" (|) and can be entered in any order

Note:

If TaxEx is NOT set, then IFC will NOT post any incoming Tax-Itemizers.

If neither TaxIn nor TaxEx are set will IFC default to "TaxIn".

(Setting TaxIn is thus not necessary/possible any more with the config tool in IFC 8.2.x.x .)

NoDiffCheck = Disables difference checking of incoming POS-Postings. It is NOT recommended to use this feature aside for testing.

NoDiffPost = All incoming PostRequests will be rejected with AnswerStatus "DM", if a posting difference is detected.

PosPagePl = Continue the PostListItems once "MaximumGuestsNum" was reached, Each inquiry response will start where the last ended, if multiple matches were found - IFC8 will restart from the beginning, once the end of all matches is reached and another inquiry is received with the same credentials. NOTE: IFC8 will keep paging, if the inquiry is received within 8 seconds. After that any response will start from the beginning.

Alternatively the waiter can make an inquiry for a dot ('.') to signal that a PostList should be continued. In that case the inquiry can comer any time to continue the last PostList.

TR2GblDateSep = Replace all expirydate separators in outgoing Track2-Attributes with "="

PosCombSplt = Setting this feature allows to combine splits by DepartmentCodes

NOTE: This feature only refers to subtotals coming from different groups (i.e. combine SalesItemizer and Discounts). If different SalesItemizers are linked to the same department code, then IFC8 will link them together into one amount, regardless of this IDRV setting.

PosDontPostTA0 = Ignore all incoming POS postings, where TotalAmount="0.00" (regardless of the values in the itemizer fields.

PosHidSpl0_Bill = Hide postings from the guests folios, where SalesItemizerX minus DiscountX = 0.00

PosHidSpl0_Repr = Hide postings from guest folios and revenue reports, where SalesItemizerX minus DiscountX = 0.00

(It is NOT recommended to set this feature!!)

PosPost2Vacant = Allow POS-postings to rooms, where PMS status = "Vacant" (= Checked out but folio still open)

PosGfnInPI = Support logic in postings where a vendor sends GuestFormattedname in Guestname in the Postrequest (= typically Micros drivers where GuestFormattedname <> LASTNAME)

NoChgCmd = do not reset ICFG_CMD settings based on incoming Schemas

WakFixTi = This feature will try to locate an existing wakeup based on system time, in case a result is received where for the exact date/time stamp no record can be found in IWKC.

WakFixRy = When this feature is enabled IFC8 will allow overwriting of wakeupresults, if result <>"OK". No vendor should send more then 1 result per wakeup, but in case a system does this you need to enable this feature. Else IFC8 will create a new line in IWKC for each received result.

++++++++++++++++++++++++++++++++++++

Tax related settings:

Default:

TaxIn = Tax-Inclusive Posting

(=Tax-Itemizers will be ignored)

TaxEx = Tax-Exclusive Posting

(=Tax-Itemizers will be posted)

Not setting any of these values will default to TaxIn.

++++++++++++++++++++++++++++++++++++

Settings for IfcBusi.Dll please see Logfile Description.

IDRV_IHST

Defines, if incoming postings should be written to IHIST or not.

0 = Do not fill IHST

1 = Fill IHST (->default =90 days)

any other value will be considered the number of days records should be kept. IFC will delete elder records, when started with "+V" or when receiving NA comands from the PMS.

IDRV_IDCO_SELECT

Defines the rules by which the department code should be selected.

Values may be entered in any order, as IFC will look for a valid combination of all entered values in IDCO.

Of course only those values may be entered, which are filled by the records from the vendor system. (e.g. VIP is received very rarely in posting records)

<empty> = Use default DC from ICFG_ZDCO_ID

P = by PostType

E = by Extension type

I = by SalesItemizer

O = by SalesOutlet

T = by ServingTime

D = by Dialed Digits

R = by PostRoute(TrunkID)

U = by UserID (Waiter-ID)

W = by WSNum (terminalID)

V = by VIP-Code

IDRV_POST_TYPE

This field defines the rules after which a incoming charge is treated. It is possible that a record contains a charge and units at the same time. In this field it may be configured in which priority contained data is treated. (e.g. Charge before units)

Entry to this field will be read in order left-to-right.

As well this field will overwrite any value coming from the vendor system. i.e. the vendor sends Post-Type = "C" (Charge) and this field has "TC" as value, then IFC will post by units (granting they are in the record.)

Valid entries are:

C = post by charge

T = post by units

M = post by article

IDRV_ACCT_TYPE

Activates posting to accounts (Cash and Credit Card Posting)

0 = Do not post Cash & Credit Card

1 = Post Cash & Credit Card

2 = Post Cash & Credit Card and do "autobalancing"

IDRV_NO_POST

Activates NoPost handling. (e.g. send bar command for PBX and check Flag for POS)

0 = Do not honor

1 = Honor NoPost

IDRV_AN_PREF

Article Number prefix.

Prefix depending on PMS article configuration (usually a 2-digit number).

IDRV_CREDLMT

Activates Credit Limit Checking.

(As of IFC 8.2.4.x and V8 = 8.5.x)

0 = Do not check limit

1 = Check limit

IDRV_VM_NOTIFY

Send MessageLight-Status upon reiceiving a VoiceMail-event

Only set to "0" for the Voicemail Interface.

Messagenotification:

0 = Do not send

1 = Send Messagelightstatus (RoomEquipment)

2 = Send GuestMess (Notification via Textmessage)

IDRV_VCKO

Defines if this Interface may execute remote check-out

0 = Not allowed

1 = allow RemoteCheckOut on event FO_RESULT

2 = allow RemoteChekOut on event EFT_RESULT

IDRV_FO_CARD

Activates filling of FO_CARD table

0 = do not fill table

1 = fill table

IDRV_VIP_CT

Use VIP code for charge calculation

0 = do not use VIP

1 = use VIP

IDRV_TR2_NUM

Activates Track2 handling for KEY/POS interfaces

NOTE:

The value needs to be the same for the KEY and the POS Interface !!!

Don't forget to add the respective PostInquiry_Track2 definition for your POS Interface in IDRF.

0 = do not handle Track2

1 = use standard Fidelio 16 digit format

2 = use Fidelio defined format, which you have defined in IDRF

4 = use the format as returned/defined on the vendor system (ICRD + IDRF)

IDRV_VN_TYPE

Activates virtual number handling

0 = no DID activated

other values will be defined in the future.

IDRV_CAS

Activates call accounting

NOTE:

Don't forget to activate the respective license.

0 = not active

1 = partial call accounting

2 = full call accounting

IDRV_WAK_RETNUM

Number of wake retries

numeric value (e.g. 3)

IDRV_WAK_RETTIME

Time between Wake retries

time in seconds (e.g. "120")

IDRV_DIAL_MSK

Defines masking of dialled digits globally.

For no masking use "0" or leave empty.

This value can be overwritten per extension in IRMS_DIAL_MSK.

IDRV_YRES_PRFX

Prefix for reservation numbers in case the vendor system support less digits then used in the PMS.

see specific docu

"0" to deactivate.

IDRV_YMES_PRFX

Prefix for messages IDs in case the vendor system support less digits then used in the PMS.

see specific docu

"0" to deactivate.

IDRV_IRND_TYPE

Activates and configures rounding of charges.

Round up or down:

0 = don't use IRND / no rounding

1 = round always DOWN

2 = round always UP

3 = round exactly (round 0.5 DOWN)

4 = round exactly (round 0.5 UP)

5 = round mathematical exactly (round 1.5 UP / round 2.5 DOWN)

The rules for DC selection in IDCO if empty use default DC in ICFG "P" by PostType "E" by ExtentionType (def. in IRMS) "I" by SubTotal (sales item) "O" by SalesOutlet (revenue center) "T" by ServingTime "D" by DialedDigits "R" by PostRoute (Truk-ID) "U" by UserID (waiter) "W" by WsNum (terminal ID) "V" by Vip code

the rules for a posting with more then one possibilitys. This will be override the PostType-Attrs. ("T"/"C"/"M") in the posting XML-record: IDRV_POST_TYPE=empty -> use the PostType-Attr IDRV_POST_TYPE="TC" -> post with MeterPulse if possible IDRV_POST_TYPE="CT" -> post with TotalAmount if possible.


IERR

This tables is used to configure and/or translate error messages.

Column Name | Description | Possible values
IERR_ID | IERR-record ID | unique table identifier (usually corresponding to record-number)
IERR_ICFG_ID | Link to ICFG | ICFG_ID (Interface Number)
IERR_ACT_TYPE | The corresponding ActionType | e.g. "PostAnswer" or "KeyAnswer" or "WakeupResult" "CcAuthor" or "CcSettl"
IERR_REQ_TYPE | The corresponding RequestType | 1 =Post by PaymentMethod 2 =Post by Track2 4 =Post by RoomNum 8 =Post by GuestName 16=Post by GuestNum Leave this field empty should you not want to filter specific error messages by request type, but only by Action Type See also: Request Types
IERR_ANS_STAT | The answer status | see list below or AnswerStatus table
IERR_TXT_DEF | Clear Text definition | Text as you want it to appear in the PMS or on the vendor system
IERR_LONDESC | Longdescription | text field to describe this record

Answerstatus:

Code / InterfaceType / Meaning

"BM" / VSS / remote check-out / Balance mismatch

"BY" / Wakeup / Key Services / Busy

"CD" / VSS / remote check-out / Check-out date is not today

"CO" / All PostingRequest Systems / Posting denied because overwrite CreditLimit is not allowed

"DN" / EFT / Request denied

"FX" / All systems / Guest related requests"Guest"not allowed this feature

"IA" / All systems / Guest related requests"Invalid account

"NA" / All systems / Night Audit

"NF" / VSS / remote check-out / Feature not enabled or Check-Out process not running

"NG" / All info requests / Guest not found

"NM" / All Message systems / Message / Locator request Message / Locator not found

"NP / All PostingRequest Systems / Posting denied because NoPost is set

"NR" / Wakeup / No Response

"SV" / Wakeup / Sent to Vendor System

"OK" / All systems / Command or request successful

"RF" / EFT / Referral (pls. Call for Auth)

"RY" / All systems / Retry

"UR" / All requests / Unprocessable request, this request cannot be carried out, no retry

"DE" / Wakeup / WakeUp is deleted

Handling of IERR has been modified a bit in version 8.1.9.6.

IFC will now internally add ClearText regardless, if this is within the schema or not to allow proper translation in all ActionTypes.

The logic is now:

  • Is a direct match on ActionType and AnswerStatus found in IERR will ClearText be overwritten with IERR_TXT_DEF

  • Is no direct match found will IFC not overwrite ClearText

  • Is ClearText empty or not existing will IFC overwrite using IERR


IGST

The IGST table is used to store information about currently checked in guests. Thisn table will be updated any time a C/I, Room-Move, Guestdatachange or C/O is received from the PMS.

It is used during a "Soft-DatabaseSwap" to update the external system.

During a "Hard-Database-Swap" all information will be deleted from this table and the information will be rebuild from PMS-data.

Table-Structure:

Column Name | Descritption | Possible Values
IGST_ID | Table-ID | Comparable to Record Number
IGST_ICFG_ID | Link to ICFG_ID | Interface number in ICFG
IGST_IRMS_ID | Link to IRMS | Link to the respective record in IRMS (Room/Extension number)
IGST_YRES_ID | Link to the guest's record in YRES | ReservationNumber
IGST_XCMS_ID | Link to XCMS | Profile-ID
IGST_VIP | VIP-Status of this guest |
IGST_GN | Name of this guest |
IGST_GL | Language of this guest |
IGST_SF | Share flag | Info if this guest is currently sharing this room or not.
IGST_CHKIN | Check-In Status of this guest | "1" = In "0" = Out Checked-Out guests stay in here until this room is used again for DB-Swap purposes.
IGST_GN_FRM | Formatted Guestname | In the format as it was sent to the vendor system. Needed for DB-Swaps
IGST_SWAP_NUM | Number of times a swap query was used on this entry. | Dynamically handled by IFC. Needed to properly handle WelcomeScreen control for Spectradynes.

No modification of this table may be done at any time. Only IFC8 will write and delete to/from this table. !!


IHID

The IHID table will be used in the future to map Multi-Site-IFC information, should one day the decision be made to support this in Suite8. Currently there are no plans to do so.

(Hotel-IDs, Oracle User Info etc))


IHST

The IHST table is used to store information about charges, which were posted through the interface or which are pending (Telephone-Booth).

In IDRV you can configure if, and for how many days charges from an Interface should be stored in IHST. (Purging routine will be added in version 8.1.2.9. IFC will purge the table itself, this will NOT be done by any Suite 8 DLL or Exe.)

Table Structure:

Column Name | Description | Possible Values
IHST_ID | IHST-Record-ID | unique table identifier (usually corresponding to record-number)
IHST_ICFG_ID | Link to ICFG | Interface Number
IHST_DEST_ID | RoomNumber ID, i.e. link to YRMS (taken from IRMS) | The roomnumber-ID to which this charge was posted to (if available)
IHST_DEST_TYPE | Destination type of the Dest-ID. | "0" = RoomNumber "1" = Financial Account
IHST_EXT_NUM | Extension number | extension as found in IRMS or as found in the record from the vendor system, should no link in IRMS exist.
IHST_DATE | Date and time stamp | Date and time as received in the vendor record, if not sent, then system date and time are take when the record is received.
IHST_LENGTH | Duration of a call (HH:MM:SS) | Only filled, when this information is supplied by the vendor system.
IHST_DIAL_NUM | Dialled number | Only filled, when this information is supplied by the vendor system.
IHST_CHARGE | Total amount | amount of this charge Note: This amount is take as a "number". There is no information about taxes, currencies etc in IHST. This information will be added by the PMS, when the charge is actually posted.
IHST_UNITS | Number of units for telephone calls | Only filled, when this information is supplied by the vendor system.
IHST_ZDCO_ID | Department code ID | Link to the ZDCO-Table
IHST_GUEST_ID | Profile ID, if available (=XCMS_ID) | Only filled, when a guest was uniquely identified for a posting, usually only filled with POS systems.
IHST_POST_ID | Posting-ID (=ZPOS-ID) | When IFC posts a charge in FidelioPostings.Dll, will the DLL return this ID upon a successful posting. If unsuccessful or in case of a booth extension, will the value be "-1".
IHST_ANSWER_STAT | Answer-Status from the PMS | This should always be "OK". When the Posting-DLL detected a problem in posting a charge will it return a error. This is currently limmited to "UR" (Unprocessable Request) but will be enhanced in the future.
IHST_EXT_TYPE | Extension type from IRMS | IFC will fill this field with the extension type from IRMS upon posting. When IFC detects a type in IRMS starting with "B", will it write a record to IHST but not call FidelioPostings.Dll.
IHST_TYPE_INFO | Shows the Posting type of IFC and PMS. | i.e. "C->T" means a IFC-PostType = charge which in PMS is posted as a MeterPulse Type. (pure informational purposes.)
IHST_TRUNK | Trunk-ID | Only filled, when this information is supplied by the vendor system.
IHST_CAS_INFO | Information about full call accounting, if applicable. | Added support in 8.1.12.0
IHST_CHECK_NUM | POS Checknumber | POS Checknumber
IHST_SUPPL_DEF | Supplement Info | In the format as it was passed to the PMS
IHST_DATE_POST | Posting time stamp | The Date & Time-stamp when the posting was written to PMS
IHST_PMS_INVISIBLE | Defines if a posting was sent to PMS as visible or not. Used when: PosHidSpl0_Bill or PosHidSpl0_Repr are set in IDRV_FEATURES | 0 = visible 1 = invisible on bill 2 = invisible on reports 3 = invisible on both bills and reports';

Concept of IHST is very similar to the known "CALLHIST". All calls or charges are written to this table for reporting purposes. In addition all "B"-Type charges can be found here for manual charging from the PMS.


ILAN

This table is used to translate the PMS language codes into ISOlanguage codes.

PMS language can be found in WLAN in the field WLAN_SHORTDESC.

Note:

This table is NOT used to translate into the vendors languages. This is done in the respective Ifc8Config.Xml !!!

and

This table is NOT specific for any interface but valid for ALL interfaces. (Subsequently there is not ILAN_ICFG_ID field!!)

As of 8.5.2.26 ISO-codes "Z1" and "Z2" have been added. These values are not true ISO codes, but became necessary to reflect the language situation in China/Hong Kong/Taiwan.

ZH = Simplified Chinese/Mandarin

Z1 = Traditional Chinese/Cantonese

Z2 = Traditional Chinese/Mandarin

Example-Table:

ILAN_ID | ILAN_PMS | ILAN_IFC
1 |  | EN
2 | E | EN
3 | F | FR
4 | G | GE
5 | S | SP

ILAN_ID = ID of the record

ILAN_PMS = PMS language code

ILAN_IFC = IFC language code

A default language (for additional not configured PMS language codes) can be added by leaving the ILAN_PMS field empty.

To add this default record leave ILAN_PMS <empty>. Do NOT put a <blank>.!!

Should the IFC receive a PMS language, which can not be translated at all using ILAN-table, will IFC use 'EN' as language or leave the language attribute empty.

The entry from ILAN_IFC will the be sent to the parser (driver) where translation to the vendor's language code (if applicable). This is done using the respective Ifc8Config.Xml, please check specific driver configuration.

Supported languages:

(definition is based on ISO 639-1)

Abkhazian AB

Afar AA

Afrikaans AF

Akan AK

Albanian SQ

Amharic AM

Arabic AR

Aragonese AN

Armenian HY

Assamese AS

Avaric AV

Avestan AE

Aymara AY

Azerbaijani AZ

Bambara BM

Bashkir BA

Basque EU

Belarusian BE

Bengali BN

Bihari BH

Bislama BI

Bokmål, Norwegian; Norwegian Bokmål NB

Bosnian BS

Breton BR

Bulgarian BG

Burmese MY

Castilian; Spanish ES

Catalan; Valencian CA CT

Chamorro CH

Chechen CE

Chewa; Chichewa; Nyanja NY

Chichewa; Chewa; Nyanja NY

Chinese ZH

Chuang; Zhuang ZA

Church Slavic; Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic CU

Church Slavonic; Church Slavic; Old Slavonic; Old Bulgarian; Old Church Slavonic CU

Chuvash CV

Cornish KW

Corsican CO

Cree CR

Croatian HR CR

Czech CS CZ

Danish DA DK

Divehi DV

Dutch; Flemish NL NL

Dzongkha DZ

English EN EA/GB

Esperanto EO

Estonian ET ET

Ewe EE

Faroese FO

Fijian FJ

Finnish FI FN

Flemish; Dutch NL

French FR FR

Frisian FY

Fulah FF

Gaelic; Scottish Gaelic GD

Gallegan GL GL

Ganda LG

Georgian KA

German DE GE

Gikuyu; Kikuyu KI

Greek, Modern (1453-) EL GR

Greenlandic; Kalaallisut KL

Guarani GN

Gujarati GU

Haitian Creole; Haitian HT

Haitian; Haitian Creole HT

Hausa HA

Hebrew HE

Herero HZ

Hindi HI

Hiri Motu HO

Hungarian HU HU

Icelandic IS

Ido IO

Igbo IG

Indonesian ID RI

Interlingua (International IA

Interlingue IE

Inuktitut IU

Inupiaq IK

Irish GA

Italian IT IT

Japanese JA JA

Javanese JV

Kalaallisut; Greenlandic KL

Kannada KN

Kanuri KR

Kashmiri KS

Kazakh KK

Khmer KM

Kikuyu; Gikuyu KI

Kinyarwanda RW

Kirghiz KY

Komi KV

Kongo KG

Korean KO

Kuanyama; Kwanyama KJ

Kurdish KU

Kwanyama, Kuanyama KJ

Lao LO

Latin LA

Latvian LV

Letzeburgesch; Luxembourgish LB

Limburgan; Limburger; Limburgish LI

Limburger; Limburgan; Limburgish; LI

Limburgish; Limburger; Limburgan LI

Lingala LN

Lithuanian LT

Luba-Katanga LU

Luxembourgish; Letzeburgesch LB

Macedonian MK

Malagasy MG

Malay MS

Malayalam ML ML

Maltese MT

Manx GV

Maori MI

Marathi MR

Marshallese MH

Moldavian MO

Mongolian MN

Nauru NA

Navaho, Navajo NV

Navajo; Navaho NV

Ndebele, North ND

Ndebele, South NR

Ndonga NG

Nepali NE

North Ndebele ND

Northern Sami SE

Norwegian Bokmål; Bokmål, Norwegian NB

Norwegian NO NR

Norwegian Nynorsk; Nynorsk, Norwegian NN

Nyanja; Chichewa; Chewa NY

Nynorsk, Norwegian; Norwegian Nynorsk NN

Occitan (post 1500); Provençal OC

Ojibwa OJ

Old Bulgarian; Old Slavonic; Church Slavonic; Church Slavic; Old Church Slavonic CU

Old Church Slavonic; Old Slavonic; Church Slavonic; Old Bulgarian; Church Slavic CU

Old Slavonic; Church Slavonic; Old Bulgarian; Church Slavic; Old Church Slavonic CU

Oriya OR

Oromo OM

Ossetian; Ossetic OS

Ossetic; Ossetian OS

Pali PI

Panjabi; Punjabi PA

Persian FA

Polish PL PL

Portuguese PT PO

Provençal; Occitan (post 1500) OC

Punjabi; Panjabi PA

Pushto PS

Quechua QU

Raeto-Romance RM

Romanian RO RO

Rundi RN

Russian RU RL/ RS

Samoan SM

Sango SG

Sanskrit SA

Sardinian SC

Scottish Gaelic; Gaelic GD

Serbian SR

Shona SN

Sichuan Yi II

Sindhi SD

Sinhala; Sinhalese SI

Sinhalese; Sinhala SI

Slovak SK SC

Slovenian SL SL

Somali SO

Sotho, Southern ST

South Ndebele NR

Spanish; Castilian ES SP

Sundanese SU

Swahili SW

Swati SS

Swedish SV SW

Tagalog TL

Tahitian TY

Tajik TG

Tamil TA

Tatar TT

Telugu TE

Thai TH TH

Tibetan BO

Tigrinya TI

Tonga (Tonga Islands) TO

Tsonga TS

Tswana TN

Turkish TR TR

Turkmen TK

Twi TW

Uighur; Uyghur UG

Ukrainian UK

Urdu UR

Uyghur; Uighur UG

Uzbek UZ

Valencian; Catalan CA

Venda VE

Vietnamese VI

Volapük VO

Walloon WA

Welsh CY

Wolof WO

Xhosa XH

Yiddish YI

Yoruba YO

Zhuang; Chuang ZA

Zulu ZU


IMSQ

This table is used to store information about the queue names of the Interface PC(s).

Upon startup will IFC8 write the queuename it just created into this table.

Any IfcBusi.Dll will look for this entry when called the first time and can thus locate the Interface PC.

When This table is empty and IfcBusi.Dll is called will a corresponding error message be displayed, asking the user to "Restart the Ifc-Server".

Note: NEVER change any contents of this table manually !!! -> DO NOT TOUCH !!

Table Structure:

Column Name | Description | Possible Values
IMSQ_ID | Unique ID | Unique table identifier (usually corresponding to record-number)
IMSQ_ICFG_ID | Link to ICFG | Interface ID
IMSQ_STATUS | Not used | Not Used
IMSQ_MQ_NAME | Name of the queue on the IFC-PC | The actual name on the IFC-PC will have "IFC" or "PMS" as prefix defining the direction in which the queue is used.
IMSQ_AUTH | Used for internal authorization of this interface | Internally used
IMSQ_PORT | IP-Port for connections from IfcBusi.Dll | Internally used.
IMSQ_PC_IFC | IFC-PC's Computername | MSMQ-FORMATTED name


IPOL

This table is used to link extension types from IRMS to Pool-IDs from the PMS

Table structure:

Column Name | Description | Possible values
IPOL_ID | Unique ID | Unique table identifier (usually corresponding to record-number)
IPOL_ICFG_ID | Link tto ICFG_ID | Unique table identifier (usually corresponding to record-number)
IPOL_EXT_TYPE | Extension type | Link to the extension types in IRMS (e.g. "R", R1", "RF" etc)
IPOL_POOL_INFO | Supported Pool-IDs from the PMS | This field contains the pool-ids from the PMS which are supported by this extension type. Values are separated with a '|' (pipe) e.g.: 1|2|4
IPOL_LONGDESC | Text field | Text field to describe this record


IPRN

This table is used to store information about printers used for direct-printout routines.

The table should ONLY be filled through IFC8-configuration and NEVER be touched manually.

All IfcBusi connect check and update this table. Manual changes will corrupt the entries.

Table structure:

Column Name | Description | Possible values
IPRN_ID | Unique ID | Unique table identifier (usually corresponding to record-number)
IPRN_ICFG_ID | Link to the Interface ID in ICF.ICFG_ID |
IPRN.IPRN_PMS_WS | PMS-WS Computer-Name |
IPRN.IPRN_ACT_TYPE | The corresponding ActionType (e.g. "RoomEquipment") - can be left <blank> to use as default for all action-types |
IPRN.IPRN_PRN_IDX | The selected Printer index |
IPRN.IPRN_TRAY | The used PaperTray for the selected Printer |
IPRN.IPRN_FRM | Format options for the selected Printer |
IPRN.IPRN_SIZE | The PageSize for the selected Printer |


IRMS

This table is used to store translation-information between Room-Numbers and Extensions.

IFC8 has a tool included to setup this table and/or import roomnumber from the PMS-Tables.

However it is strongly recommended to "manually check" if all entries are as intended until the user is fully confident with the import tool.

Table Structure:

Column Name | Description | Possible Values
IRMS_ID | IRMS-Record ID | Unique table identifier (usually corresponding to record-number)
IRMS_ICFG_ID | Link to ICFG | Interface ID
IRMS_IO | Definition, if this record should be used for incoming and/or outgoing records | "0" = In & Out going "1" = Only Incoming "2" = Only Outgoing
IRMS_DEST_ID | Destination ID of an extension | ID of the Destination (or for better understanding: Room) to which this extension is linked to.
IRMS_DEST_TYPE | Type of a Destination | "-1" = can only be found in IRMS (usually "H" or "B" extensions) "0" = RoomNumber = link to YRMS_ID "1" = Financial Account = link to ZFAC_ID "2" = Financial Account = link to ZFAN_LONGDESC (actual paymaster-number)
IRMS_SHORTDESC | RoomNumber description (Only filled if IRMS_DEST_TYPE = "-1") | This field needs to be filled , if dest-type ="-1", so that the IFC can generate a "dummy" roomnumber in IHST for these extensions.
IRMS_EXT_NUM | Extension | Actual extension as it is used/expected on the vendor system
IRMS_EXT_TYPE | Type of extension | Usually "H/R/B" (Note: Types MUST start with one of these three characters. Further characters are free choice.)
IRMS_ST_COS | Current Class of Service status of this extension | "0" = Off "1..9" = On "1" = local, "2" = national, "3" = International "4-9" = currently not used. For systems which only support "ON" and "OFF" "3" is used for "ON".
IRMS_AL_COS | Defines if the Class of Service for this extension may be changed or not. | "0" = Not avaliable, not allowed to be changed "1" = Available, always "ON" "2" = Available, allways "OFF" "5" = Available, freely switchable
IRMS_ST_ML | Current status of the Message Light of this extension | "0" = Off "1..9" = On
IRMS_AL_ML | Defines if the Message Light for this extension may be changed or not. | "0" = Not avaliable, not allowed to be changed "1" = Available, always "ON" "2" = Available, allways "OFF" "5" = Available, freely switchable
IRMS_ST_MR | Current Minibar Rights status of this extension | "0" = Off "1..9" = On "0" = lock minibar "1" = minibar normal vending (no alcoholic items) "2" = unlock minibar
IRMS_AL_MR | Defines if the Minibar Rights for this extension may be changed or not. | "0" = Not avaliable, not allowed to be changed "1" = Available, always "ON" "2" = Available, allways "OFF" "5" = Available, freely switchable
IRMS_ST_DND | Current Do-Not-Disturb status of this extension | "0" = Off "1..9" = On
IRMS_AL_DND | Defines if the Do-Not-Disturb status for this extension may be changed or not. | "0" = Not avaliable, not allowed to be changed "1" = Available, always "ON" "2" = Available, allways "OFF" "5" = Available, freely switchable
IRMS_ST_VR | Current Video Right status of this extension | "0" = Off "1..9" = On "0" = no video rights "1" = only view bill "2" = view bill & remote c/o (default)
IRMS_AL_VR | Defines if the Video Rights for this extension may be changed or not. | "0" = Not avaliable, not allowed to be changed "1" = Available, always "ON" "2" = Available, allways "OFF" "5" = Available, freely switchable
IRMS_ST_TV | Current TV-Rights status of this extension | "0" = Off "1..9" = On "0" = TV rights "1" = no Pay movies "2" = no Adult movies "3" = unlimited pay channels (default)
IRMS_AL_TV | Defines if the TV-Rights for this extension may be changed or not. | "0" = Not avaliable, not allowed to be changed "1" = Available, always "ON" "2" = Available, allways "OFF" "5" = Available, freely switchable
IRMS_ST_GR | Current Game-Rights status of this extension | "0" = Off "1..9" = On
IRMS_AL_GR | Defines if the Game-Rights for this extension may be changed or not. | "0" = Not avaliable, not allowed to be changed "1" = Available, always "ON" "2" = Available, allways "OFF" "5" = Available, freely switchable
IRMS_ST_WWW | Current WWW (Internet) status of this extension | "0" = Off "1..9" = On
IRMS_AL_WWW | Defines if the WWW (Internet)-Rights for this extension may be changed or not. | "0" = Not avaliable, not allowed to be changed "1" = Available, always "ON" "2" = Available, allways "OFF" "5" = Available, freely switchable
IRMS_AL_WAK | Defines if Wakeups are allowed for this extension or not. | "0" = No wakeup for this extension "5" = Wakeup allowed for this extension
IRMS_DIAL_MSK | Defines masking of dialled digits for this extension. | Enter the number of digits you want to mask. "0" = No masking for this extension (overwrites setting in IDRV !!) To use the setting in IDRV, leave this field empty !!

Only those status and allowed fields need to be filled, which are applicable for the respective interface.

If you are unsure, please check the respective GuestIn , GuestDatachange and RoomEquipment schemas to find out if any of the above apply.


IRND

This table is used to define rounding rules.

Table structure:

Column Name | Description | Possible values
IRND_ID | IRND record ID | Unique table identifier (usually corresponding to record-number)
IRND_LONGDESC | Textfield to describe this record |
IRND_ICFG_ID | IRND_EXT_TYPE | IFC number from ICFG
IRND_POST_TYPE | Enter the post_type here for which this record should be valid | "T" = for unit calculation "C" = for charge calculation <blank> = for no selection by POST_TYPE
IRND_EXT_TYPE | Enter the extension_type here for which this record should be valid | The extension_type as defined in IRMS (e.g. "R", "B" etc)
IRND_DIGITS | Defines the position to be rounded | 1 = round cents 10 = round ten cents 100 = round Euros
IRND_PRECISION | Defines the step to which rounding should be calculated. | see below

Note: Please remeber that IFC8 does not calculate any charge with a decimal separator. so e.g. € 1.74 will be handled by the IFC as "174".

IRND_DIGITS and IRND_PRECISION need to be treated in combination.

IRND_DIGITS defines the position which should be rounded.

A "1" would mark the 'last' position so for "174" the "4". In this case the "4" would be rounded so the result would be a rounding to 10-cents.

A routing to 1 € would mean that you need to enter "10" into IRND_DIGITS

IRND_PRECISION defines to which value the rounding should be calculated.

In our example we write a "1" to IRND_PRECISION:

"174" could be rounded to the next 10-cents step.

This is done with a simple calculation:

Rounding will always be calculated as:

(1 ^ [IRND_DIGITS]) * IRND_PRECISION.

Which means:

For IRND_DIGITS='1': (10 ^ [IRND_DIGITS]) = 10

For IRND_DIGITS='2': (10 ^ [IRND_DIGITS]) = 100

This configuration allows you for example to round to the next 1-Euro or 25-cents amount:

1-Euro:

IRND_DIGITS = '2'

IRND_PRECISION = '1'

In the calculation this is interpreted as:

(1 ^ [IRND_DIGITS]) * IRND_PRECISION -> 100 * 1 = 100

So in this case IFC will round to the next 100-cents/1-Euro step.

25-Cents:

IRND_DIGITS = '1'

IRND_PRECISION = '2,5'

In the calculation this is interpreted as:

(1 ^ [IRND_DIGITS]) * IRND_PRECISION -> 10 * 2,5 = 25

So in this case IFC will round to the next 25-cents step.

The actual method (up or down etc) is defined in IDRV_IRND_TYPE.


ISCH

This table is used by the Interface to store the currently used schemas.

IFC will overwrite this table upon every startup and on every Comm-Change event.

(MEnaing everytime the vendorsystem restarts, while IFC is running.)

NEVER touch this table manually !!

Table Struture:

Column Name | Description | Possible values
ISCH_ID | ISCH record ID | Unique table identifier (usually corresponding to record-number)
ISCH_ICFG_ID | Link to ICFG | Interface ID
ISCH_NAME | Schema name | e.g. "GuestInSchema_O"
ISCH_DATA | Actual Schema | Full schema in XML-format

This table is needed by IfcBusi.DLL. Should the IFC not be running, when IfcBusi is called, can IfcBusi get the last valid schema(s) from the tables.


ISUP

The ISUP table is used to configure the supplement information, which will be seen in Suite8 as additional information to every posting.

Column Name | Description | Possible values
ISUP_ID | Table-ID | (comparable to record number)
ISUP_ICFG_ID | Link to entry in ICFG | Interface ID
ISUP_FIELD | Descriptor as to which supplement field should be defined in this record | Currently two supplement fields are supported: Phone-NR and Comment, so the allowed entries are "TEL" for the dialled number and "SUP" for the free userdefinable entry.
ISUP_TYPE | Selector for the PMS-Post-Type (Note: don't mix up with IFC-PostType, as this migt have been overwritten in IDRV!!!) | "M" = "Minibar" article posting "C"="TotalAmount" charge posting "T"= "MeterPulse" (unit) posting NOTE: " " (blank) as default is currently not supported ! Make sure you enter a valid value here !
ISUP_PREF_0 | First Prefix | Any value
ISUP_ATTR_0 | First Attribute | Value from the datastring, which should follow the Prefix-)
ISUP_PREF_1 | Second prefix | Any value
ISUP_ATTR_1 | Second attribute | Value from the datastring, which should follow the Prefix-)
ISUP_PREF_2 | etc | etc
ISUP_ATTR_2 | etc | etc
ISUP_PREF_3 | etc | etc
ISUP_ATTR_3 |  |
ISUP_PREF_4 |  |
ISUP_ATTR_4 |  |

Structure of this table is very simple:

ISUP_FIELD and ISUP_TYPE define for which case this record should be valid:

e.g. ISUP_FIELD = "SUP" and ISUP_TYPE "C" would be used, if a posting by charge is happening and the field "ZPOS_COMMENT" should be filled.

A typical structure of the following fields would then be:

PREF_0 = "Ext:"

ATTR_0 = "RoomNum"

PREF_1 = "/Dur:"

ATTR_1 = "Duration"

which would write the extension-number and the duration of the call to the supplement field.

(A concept as the AUXID from V6/7 is not existing and not necessary any more.)

NOTE:

The attribute "Duration" has the format "HHMMSS", if you want to have it as format "HH:MM:SS", then use alias: "Formatted_Duration".


ITR2

[Not used]


IVAL

[Not used]


IVIP

[Not used]


IWKC

This table is used to carry the wake-up calls of each interface. (Originally meant as Wakeupconfig table)

Table structure:

Column Name

Description

Possible Values

IWKC_ID

IWKC record ID

Unique table identifier (usually corresponding to record-number)

IWKC_ICFG_ID

Link to ICFG

Interface ID

IWKC_IRMS_ID

Link to IRMS

ID of the extension for which this wake-up is valid

IWKC_RESULT

Result and/or current status of this wakeup call

Result in AnswerStat format

Additional possible value is <blank> which will be displayed as "active".

This can happen, when the request has been added via PMS but has NOT been sent to the vendor system yet.

IWKC_LANG

Wakeup call language, stored for future use, currently there is no vendor system which could support different languages for wakeup calls.

Taken from the guest's reservation, or default language from ILAN.

IWKC_RES_DATE

Date & Time when the last result for this wakeup was received

IWKC_SET_DATE

Date & time on which this wakeup call was entered.

IWKC_SET_USR

User, which entered the wakeup call (if available)

IWKC_RES_USR

User which sent/entered the result (if available)

IWKC_RETRY

Number of retries for this wakeup

IFC will update this field dynamically with every retry. As long as the value is > '-1' this wakeup is still in process. When the value is '-1' then this wakeup has been finalized.

Positive values signal the number of open retries for this wakeup-call (internal handling!!) Value="0" means that the last try is currently ion process.

Values < '-1' can only happen if WakeFixRy is enabled and if a result is received for a wakeupcall which was already finalized.

IWKC_START

Wakeup Date and Time

IWKC_GRP_ID

Group ID from YRMS

Not yet implemented

IWKC_RESULT_DESC

Wakeup Result as string

As it is displayed in the PMS

Configurable via IERR.

(Starting PMS = 8.1.11.x)

Wakeup calls are handled by the interface, but can be displayed in the PMS.

Deletion of wakeupcalls during night-audit maintenance routine of IFC8:

This feature cannot be configured and is executed automatically.

The feature is started when IFC8 is notified of a PMS night-audit - or if IFC8 is started with parameter "+V".

Wakeups are deleted if:

  • IWKC_RETRY is < '0' (i.e. the wakeup-call is finalized)

  • wake-ups are elder than system-date -2 (i.e. today, yesterday and the day before yesterday are kept.)


WLIC

WLIC is a V8 table and will only be "read" by the interface.

In this table we store all licenses , feature licenses as well as FKT-Logo licenses.

Features are stored with WLIC_GROUP = 4 and FKTs with WLIC_GROUP = 5.

WLIC_LICENSENAME carries the actual variable, WLIC_CODE the license code.


XML-Attributes

Following is an alphabetical list of all available parameters (or:attribute names):

Type and length are defined to grant backward compatibility. These may change in the future.

XML attribute description | Old FIAS field description | Contents, Type, Length
AnswerStat | AS | Answer Status, AN, 2 char (see Answer Status Table)
AudittrialNum | $F | Audit Trial Number, AN, 16 char
AuthNum | $R | Reference/Authorization Number, AN, 10 char
BalanceAmount | BA | Balance/Folio Amount, N max. 15
BatchNum | $N | Batch Number, N max. 10
CardType | $T | Card Type, AN 2 char (as defined in PMS, e.g. VA=VISA, AX=Amex etc)
CardUsage | $C | Card Usage, N max 1 (see Card Usage Table)
CheckNum | C# | POS Check Number, N max. 8
ClassofService | CS | Class of Service, AN 1 char (See COS table)
ClearText | CT | Clear Text, ANS (no max)
Covers | CV | Cover, N max. 5
CreditcardNum | $# | CreditCard Number, N max 19
CreditLimit | CL | Current CreditLimit of a guest (Total minus folio total) N max. 15
CreditLimitOverwrite | CO | CreditLimitOverwrite Flag, A 1 char
CrossReference1 (...4) | X1, X2, X3, X4 | CrossReference Data (Supplement Infor for Postrequest and PostSimple, AN, max. 25)
CurrencyAvailableFlag | CF | Y/N, defines if Dynamic Currency Conversion is available.
CurrencyCode | CU | Currency code in multi-currency scenarios (mostly used for EFT)
CurrencyRate | CR | Foreign Currency conversion rate
Date | DA | Date, D 6 char (as YYMMDD)
DefRef0....15 | A0....A9 | Free definable database relations (DefRef0 is reserved for XCMS_ID)
DepartmentCode | DC | PMS DepartmentCode, N max 6
DepartureTime | DT | Departure Time for KSS IFCs (as HHMMSS)
DialedDigits | DD | Dialed digits, N max. 20
DialedDigits | PD | Dialed digits, N max. 20
Discount1...63 | D1...D9 | Discount (multiple occurrences per record possible) Discount0 is reserved
DoNotdisturb | DN | Do Not Disturb status, N max.1
Duration | DU | Duration, T (as HHMMSS)
EquipmentNumber | EN | Equipment Number AN max. 8 (used for DID-numbers)
EquipmentStatus | ES | Equipment Status, AN, max 1 (used for assigning and unassigning DID-numbers)
ExpyDate | $D | Expiry Date N, 4 (as YYMM)
FktLogo | FK | Interface function logo, defines the vendor system to the interface
FolioNum | F# | Window/Folio Number, N max. 2
ForeignTotal | FT | Foreign Total amount (= Currency Rate * Total Amount in local currency)
GuestArrival | GA | Guest Arrival Date, D, 6 char (as YYMMDD)
GuestDeparture | GD | Guest Departure Date, D, 6 char (as YYMMDD)
GuestFirstName | GF | First Name of a guest, ANS, max 20
GuestGroupNum | GG | Guest group ID, AN, max 10
GuestLanguage | GL | Guest language, ANS, 2 chars (see language table)
GuestName | GN | Guest Last name , ANS max. 40
GuestNum | G# | Guest Number (YRES_ID) N, max. 10
GuestPin | GP | Guest password AN, max. 8 (used for DID-passwords)
GuestShareflag | GS | Share Flag An, 1 char GuestOut action: The GuestShareflag for a GuestOut is always the NEW RoomShareStatus
GuestShareflagOld | GS | Share Flag An, 1 char (used in room-move scenarios with sharers) GuestdataChange action with RoomMove: The GuestShareflagOld for a RoomMove is always the NEW "RoomShareStatus" for the OldRoom -the GuestShareflag for a RoomMove is always the NEW "RoomShareStatus" for the NewRoom
GuestTitle | GT | Guest Title (short) ANS, max. 20
GuestVip | GV | Guest VIP status AN, max. 1
InterfaceFamily | IF | Interface family/group AN, 2 char ( see Interface Type table)
IssueNumber | IN | Issue number AN, 2 char (used with UK Switch cards)
ItemAmount | BI | Bill Item amount N, max. 15 (during Billview)
ItemDescription | BD | Bill Item description, AN max. 30
ItemDisplayFlag | FD | Item display flag for billview, 0=No, 1=Yes
KeyCoder | KC | Key Encoder number , AN max. 2
KeyCount | K# | Number of keys during a request, N, max 2
KeyOptions | KO | Key Options (special access rights) , AN max. 20
KeyType | KT | Key type AN, max. 2 (see Key Type table)
LocatorExpiry | LT | Locator Expiry time ,T( as HHMMSS)
MaximumGuestsNum | MX | Maximum number of guest-records N, max. 2 (sent in PR /def. for PL-records)
MerchantId | $I | EFT-MerchantId, AN max. 16
MessageLightstatus | ML | Message light status, 0=Off, 1=On
MessageText | MT | Message text, AN, no max.
MeterPulse | MP | Meter or tax pulse, N. max. 10
MinibarArticle | MA | Minibar article , N max. 4
MinibarArtNum | M# | Number of Minibar articles, N, max 2
MinibarRights | MR | MinibarRights, (see GuestRights table)
MsqSync | --- | Set to "Y", if the RecType is synchron for MSMQ. (Currently not supported.)
NoPost | NP | NoPost Flag N, max 1 (0= not set, 1=set)
PathId | PH | Hoptel-Id, Path-ID
PaymentMethod | PM | Pymentmethod (as defined in the PMS, eg AX for Amex, CA for Cash etc), AM, max. 5
Post2guestNum | PG | Post to guestnumber, N, 1
PostCallType | PC | Posting Call Type (national, local etc) AN, 1 char
PostInformation | PI | Inquiry Data, AN max. 20
PostListItemNum | --- | Used for PostRequest and PostList function to identify a guestmatch from the last functioncall as reference
PostNum | P# | Posting Sequence Number, N ,max. 4 (used to identify incoming records)
PostRoute | PX | Posting Route (i.e. trunk) N, max. 6
PostType | PT | PostingType (see posting type table)
PrinterPort | PP | Target printer port for instant messages
RequestType | RT | Request Type, A 2 char (see request type table)
RoomNum | RN | RoomNumber, AN max 10 (If used as destination ID, then the max may increase.)
RoomOldNum | RO | Old Room number, from which a guest moves out during a room-move, AN, max. 8
RoomStatus | RS | Room (maid) status, N max 1
SalesOutlet | SO | POS Sales Outlet, N max 5
SecondAuth | $+ | Secondary authorization amount , N max 15
SeminarChannel | SM | Seminar Channels (see GuestRightsTable)
SequenceNum | S# | Sequence number for outgoing records.
ServiceCharge1....63 | SC | Service Charges ("0" is internally reserved) M, max.15
ServingTime | ST | ServingTime, N max.4
StartDate | SD | Start Date, D 6 char (as YYMMDD) used with UK switch cards
Subtotal1....63 | S1...9 | Subtotal1, M max 15. (SubTotal0 is reserved internally) Note: if this field occurs more then once in a record, then the last digit needs to be changed accordingly. (e.g. S2, S3, S5 etc)
SwapFlag | SF | Swap Flag, boolean, if this field is set, it identifies this record as part of a database swap.
TableNum | T# | Table Number, N max. 4
Tax1...63 | T1....9 | (Tax0 is reserved internally) Tax itemizers, multiple occurrence possible, M max 15
Time | TI | Time, T 6 chars (as HHMMSS)
TimeOut | --- | Timeout for replyrecords
Tip | TP | Tip, M max. 15
TotalAmount | TA | Total PostingAmount, M max. 15 (With decimal in EFT records, in all other usages without decimal)
Track1 | $1 | Track1, AN max. 80
Track2 | $2 | Track2 AN, max. 40
Track3 | $3 | Track3, AN max. 150
TransNum | $J | EFT transaction ID, generated by the EFT system. AN, max. 16
Tvright | TV | TV rights (see Guest rights Table)
UserID | ID | user ID, AN max. 16
VerNum | V# | Version Number
VideoRight | VR | Video rights (see Guest rights Table)
VoiceMail | VM | Voicemail Notification as: "Y/N" or "0103", for 1=unread, 3 = total number of voicemails)
WSNum | WS | Workstation ID, AN max. 16 (Usually filled with the computername)


OPERA-Tables

Following is a list of setting for IFC_CTRL->FEATURES in OPERA for IFC8 (may not be accurate):

IFC8 FEATURES settings.

1 = 1 for nopost flag check; 2 for check credit limit; 6 to override credit limit check; = for sending a GuestDataChange with a nopost flag change in Opera(V5 only).

6 = for video checkout options

7 = 1 for Voicemail function (set for one active ifc only and will put in PMS the "You have voicemail(s)" message.)

9 = # of Dialed Digits

11 = 1 to post zero charges; 2 to post to IFC_HIST(never functional and removed in V5); 3 for both(never functional and removed in V5).

13 = 1 for Show Stored Value Pin function

14 = for account postings; 1 for no autobalance; 2 for autobalance

15 = 1 for subtotal postings (splits) TIP only; 2 for full split;

16 = for Reference field display

17 = Transaction code selection for postings

19 = for masking of dialed digits

21 = post to IFC_HIST (never functional and removed in V5)

23 = Name Display format and use of IFC_FRM

24 = rounding of calculated charge

25 = for room status options; 0=none;1=don't change OO/OS rooms; 2=log changes;3=both (doesn't function, SCR 127313 to remove config as it isn't needed)

29 = for Bill Display windows

31 = 1 for extra fields (CardType, Workstation, RoomNum, OriginalAuthSequence, and Version) in the CCW format (not SDW) and sending a DEPOSIT authtype instead of INIT with deposit auths; = 0-2 for call accounting '0' = IFC will cost the call based on the pulse count. '1' = IFC will always use the TotalAmount. '2' = IFC will use the charge sent if the pulse count is 0.

32 = 1 for the https SDW CCW format; = 1-9 setting for resv_name_id length for SPD clones

33 = 1 for DLS IFC to look at rooms set up in IFC_ROOM. 1 for CCW use resv_name_id > 8 characters

34 = 0-2 for PostType when not sent by vendor. =0 for 'C' Direct Charge. =1 for 'M' Minibar Charge. =2 for 'T' Telephone Charge. =1 for the AR AuthType for CCW IFC.

35 = 1 for SDW function of "Send Resort as Location"; for a DLS IFC "Allow Multiple Room Selection"

36 = for charge scaling

37 = 1 to disable Room equipment message at Guest check-in

38 = 1-9 for message id length for SPD clones

39 = 1 for Enable rollup transactions for bill display; for SVS type - 0=Opera transaction, 1=Vendor transaction, 3=Opera & Vendor transaction

Command

1 = 1 for guest info, 2 for guest info with room move

2 = 1 for DLS, 2 for Online DLS, and 4 for (manually set) RFID FEI_

3 = 1 for message status

4

5 = 1 for wakeup by Opera, 2 for wakeup by vendor

6 = 1 for virtual numbers

7

8 = 1 for cc, 2 for courtesy card and 3 for both

9 = 1 for Night Audit messages

10 = 1 for stored value function with a CCW.

IFC_ROOM Mask field:

1=COS, 2=MSG, 3=DND, 4=TV, 10=VIDEO, 12=WAKE, 13=MASKDD

Stat field:

1=COS, 2=MSG, 3=VIDEO, 4=TV, 5=DND, 8=WELCOME, 16=MINIBAR


Answer Status

Possible values for "AnswerStatus" in Fidelio-XML:

Code | Interface type using this code | Meaning
BM | VSS / Remote check-out | Balance mismatch
BY | Wakeup / Key Services | Extension / Device busy
CD | VSS / Remote check-out | Check-out date is not today
CO | All PostingRequest Systems | Posting denied because overwrite of CreditLimit is not allowed
DE | Wakeup / KeyRequest | WakeUp is/was deleted / Key was deleted (ICRD)
DM | All PostingRequest Systems | Difference MissMatch. Sent back in case a Difference is detected an the parameter IDRV_FEATURES="NoDiffPost" is used.
DN | EFT | Request denied
FX | All systems using Guest related requests | Guest is not allowed to use this feature.
IA | All systems using Guest related requests | Invalid Account (Room)
NA | All systems | Night Audit
NF | VSS / Remote check-out | Feature not enabled or Check-Out process currently not running/enabled/allowed
NG | All info requests | Guest not found
NM | All Message systems using Message/Locator request | Message/Locator not found
NP | All PostingRequest Systems | Posting denied because NoPost is set
NR | Wakeup | No Response
SV | Wakeup | Sent to Vendor System
OK | All systems | Command or request successful
RF | EFT | Referral (pls. Call for Auth)
RY | All systems | Retry (-ing)
UR | All requests | Unprocessable request, this request cannot be carried out, no retry


Request Types

Code | Action Name | Type / Meaning
0 | EFT Actions | Accounts Receivable, City Ledger
1 | EFT Actions | CheckIn
2 | EFT Actions | Deposit
3 | EFT Actions | Other
4 | DataResync | DataResync/hard
8 | DataResync | DataResync/soft
16 | DataResync | DataResync/with GuestIn action
32 | DataResync | DataResync/with GuestOut action
64 | DataResync | DataResync/with RoomEquipment action
128 | DataResync | DataResync/with GuestMess action
1 | PostInquiry | PostInquiry/PostSimple by PaymentMethod
2 | PostInquiry | PostInquiry/PostSimple by Track2
4 | PostInquiry | PostInquiry/PostSimple by RoomNum
8 | PostInquiry | PostInquiry/PostSimple by GuestName
16 | PostInquiry | PostInquiry/PostSimple by ExtensionNum
32 | PostInquiry | PostInquiry/PostSimple by GuestNum
64 | PostInquiry | PostInquiry/PostSimple in DataResync
128 | PostInquiry | PostInquiry/PostSimple only GuestRights of the active Schema
256 | PostSimple (ONLY POS-PostSimple !!! = Posting with Userinteraction (e.g. RC2)) | PostInquiry/PostSimple - force charging regardless if PostListItemNum is valid or not. (Post to match in RoomNum or to LostPosting.)
0 | GuestMessRequest | GuestMessRequest with out MessDelete
1 | GuestMessRequest | GuestMessRequest with MessDelete


ASCII Table

Note that in the binary representation bits are count from right to left, i.e. bit 1 is the rightmost bit while bit 8 is the leftmost bit. (Sometimes the bit count also goes from bit 0 to bit 7 which can be pretty confusing.)

ASCII Character | Binary Value | Hex Value | Decimal Value | Short Description | Long Description
 | 0000 0000 | 00 | 0 | NUL | Null Character
☺ | 0000 0001 | 01 | 1 | SOH | Start of Header
☻ | 0000 0010 | 02 | 2 | STX | Start of Text
♥ | 0000 0011 | 03 | 3 | ETX | End of Text
♦ | 0000 0100 | 04 | 4 | EOT | End of Transmission
♣ | 0000 0101 | 05 | 5 | ENQ | Enquiry
♠ | 0000 0110 | 06 | 6 | ACK | Acknowledge
● | 0000 0111 | 07 | 7 | BEL | Bell (DOS beep tone)
◘ | 0000 1000 | 08 | 8 | BS | Back Space
○ | 0000 1001 | 09 | 9 | HT | Horizontal Tabulation (= Tabulator)
◙ | 0000 1010 | 0A | 10 | LF | Line Feed
♂ | 0000 1011 | 0B | 11 | VT | Vertical Tabulation
♀ | 0000 1100 | 0C | 12 | FF | Form Feed
♪ | 0000 1101 | 0D | 13 | CR | Carriage Return
♫ | 0000 1110 | 0E | 14 | SO | Shift out
☼ | 0000 1111 | 0F | 15 | SI | Shift In
► | 0001 0000 | 10 | 16 | DLE | Data Link Escape
◄ | 0001 0001 | 11 | 17 | DC1 | Device Control # 1 (also used as XON)
↕ | 0001 0010 | 12 | 18 | DC2 | Device Control # 2
‼ | 0001 0011 | 13 | 19 | DC3 | Device Control # 3 (also used as XOFF)
¶ | 0001 0100 | 14 | 20 | DC4 | Device Control # 4
§ | 0001 0101 | 15 | 21 | NAK | Negative Acknowledge
▬ | 0001 0110 | 16 | 22 | SYN | Synchronous Idle
↨ | 0001 0111 | 17 | 23 | ETB | End of Transmission Block
↑ | 0001 1000 | 18 | 24 | CAN | Cancel
↓ | 0001 1001 | 19 | 25 | EM | End of Medium
→ | 0001 1010 | 1A | 26 | SUB | Substitue
← | 0001 1011 | 1B | 27 | ESC | Escape
∟ | 0001 1100 | 1C | 28 | FS | File Separator
↔ | 0001 1101 | 1D | 29 | GS | Group Separator
▲ | 0001 1110 | 1E | 30 | RS | Record Separator
▼ | 0001 1111 | 1F | 31 | US | Unit Separator
 | 0010 0000 | 20 | 32 | SP | Space
! | 0010 0001 | 21 | 33 |  |
" | 0010 0010 | 22 | 34 |  |
# | 0010 0011 | 23 | 35 |  |
$ | 0010 0100 | 24 | 36 |  |
% | 0010 0101 | 25 | 37 |  |
& | 0010 0110 | 26 | 38 |  |
' | 0010 0111 | 27 | 39 |  |
( | 0010 1000 | 28 | 40 |  |
) | 0010 1001 | 29 | 41 |  |
* | 0010 1010 | 2A | 42 |  |
+ | 0010 1011 | 2B | 43 |  |
, | 0010 1100 | 2C | 44 |  |
- | 0010 1101 | 2D | 45 |  |
. | 0010 1110 | 2E | 46 |  |
/ | 0010 1111 | 2F | 47 |  |
0 | 0011 0000 | 30 | 48 |  |
1 | 0011 0001 | 31 | 49 |  |
2 | 0011 0010 | 32 | 50 |  |
3 | 0011 0011 | 33 | 51 |  |
4 | 0011 0100 | 34 | 52 |  |
5 | 0011 0101 | 35 | 53 |  |
6 | 0011 0110 | 36 | 54 |  |
7 | 0011 0111 | 37 | 55 |  |
8 | 0011 1000 | 38 | 56 |  |
9 | 0011 1001 | 39 | 57 |  |
: | 0011 1010 | 3A | 58 |  |
; | 0011 1011 | 3B | 59 |  |
< | 0011 1100 | 3C | 60 |  |
= | 0011 1101 | 3D | 61 |  |
> | 0011 1110 | 3E | 62 |  |
? | 0011 1111 | 3F | 63 |  |
@ | 0100 0000 | 40 | 64 |  |
A | 0100 0001 | 41 | 65 |  |
B | 0100 0010 | 42 | 66 |  |
C | 0100 0011 | 43 | 67 |  |
D | 0100 0100 | 44 | 68 |  |
E | 0100 0101 | 45 | 69 |  |
F | 0100 0110 | 46 | 70 |  |
G | 0100 0111 | 47 | 71 |  |
H | 0100 1000 | 48 | 72 |  |
I | 0100 1001 | 49 | 73 |  |
J | 0100 1010 | 4A | 74 |  |
K | 0100 1011 | 4B | 75 |  |
L | 0100 1100 | 4C | 76 |  |
M | 0100 1101 | 4D | 77 |  |
N | 0100 1110 | 4E | 78 |  |
O | 0100 1111 | 4F | 79 |  |
P | 0101 0000 | 50 | 80 |  |
Q | 0101 0001 | 51 | 81 |  |
R | 0101 0010 | 52 | 82 |  |
S | 0101 0011 | 53 | 83 |  |
T | 0101 0100 | 54 | 84 |  |
U | 0101 0101 | 55 | 85 |  |
V | 0101 0110 | 56 | 86 |  |
W | 0101 0111 | 57 | 87 |  |
X | 0101 1000 | 58 | 88 |  |
Y | 0101 1001 | 59 | 89 |  |
Z | 0101 1010 | 5A | 90 |  |
[ | 0101 1011 | 5B | 91 |  |
\ | 0101 1100 | 5C | 92 |  |
] | 0101 1101 | 5D | 93 |  |
^ | 0101 1110 | 5E | 94 |  |
_ | 0101 1111 | 5F | 95 |  |
` | 0110 0000 | 60 | 96 |  |
a | 0110 0001 | 61 | 97 |  |
b | 0110 0010 | 62 | 98 |  |
c | 0110 0011 | 63 | 99 |  |
d | 0110 0100 | 64 | 100 |  |
e | 0110 0101 | 65 | 101 |  |
f | 0110 0110 | 66 | 102 |  |
g | 0110 0111 | 67 | 103 |  |
h | 0110 1000 | 68 | 104 |  |
i | 0110 1001 | 69 | 105 |  |
j | 0110 1010 | 6A | 106 |  |
k | 0110 1011 | 6B | 107 |  |
l | 0110 1100 | 6C | 108 |  |
m | 0110 1101 | 6D | 109 |  |
n | 0110 1110 | 6E | 110 |  |
o | 0110 1111 | 6F | 111 |  |
p | 0111 0000 | 70 | 112 |  |
q | 0111 0001 | 71 | 113 |  |
r | 0111 0010 | 72 | 114 |  |
s | 0111 0011 | 73 | 115 |  |
t | 0111 0100 | 74 | 116 |  |
u | 0111 0101 | 75 | 117 |  |
v | 0111 0110 | 76 | 118 |  |
w | 0111 0111 | 77 | 119 |  |
x | 0111 1000 | 78 | 120 |  |
y | 0111 1001 | 79 | 121 |  |
z | 0111 1010 | 7A | 122 |  |
{ | 0111 1011 | 7B | 123 |  |
| | 0111 1100 | 7C | 124 |  |
} | 0111 1101 | 7D | 125 |  |
~ | 0111 1110 | 7E | 126 |  |
⌂ | 0111 1111 | 7F | 127 |  |
Ç | 1000 0000 | 80 | 128 |  |
ü | 1000 0001 | 81 | 129 |  |
é | 1000 0010 | 82 | 130 |  |
â | 1000 0011 | 83 | 131 |  |
ä | 1000 0100 | 84 | 132 |  |
à | 1000 0101 | 85 | 133 |  |
å | 1000 0110 | 86 | 134 |  |
ç | 1000 0111 | 87 | 135 |  |
ê | 1000 1000 | 88 | 136 |  |
ë | 1000 1001 | 89 | 137 |  |
è | 1000 1010 | 8A | 138 |  |
ï | 1000 1011 | 8B | 139 |  |
î | 1000 1100 | 8C | 140 |  |
ì | 1000 1101 | 8D | 141 |  |
Ä | 1000 1110 | 8E | 142 |  |
Å | 1000 1111 | 8F | 143 |  |
É | 1001 0000 | 90 | 144 |  |
æ | 1001 0001 | 91 | 145 |  |
Æ | 1001 0010 | 92 | 146 |  |
ô | 1001 0011 | 93 | 147 |  |
ö | 1001 0100 | 94 | 148 |  |
ò | 1001 0101 | 95 | 149 |  |
û | 1001 0110 | 96 | 150 |  |
ù | 1001 0111 | 97 | 151 |  |
ÿ | 1001 1000 | 98 | 152 |  |
Ö | 1001 1001 | 99 | 153 |  |
Ü | 1001 1010 | 9A | 154 |  |
¢ | 1001 1011 | 9B | 155 |  |
£ | 1001 1100 | 9C | 156 |  |
¥ | 1001 1101 | 9D | 157 |  |
₧ | 1001 1110 | 9E | 158 |  |
ƒ | 1001 1111 | 9F | 159 |  |
á | 1010 0000 | A0 | 160 |  |
í | 1010 0001 | A1 | 161 |  |
ó | 1010 0010 | A2 | 162 |  |
ú | 1010 0011 | A3 | 163 |  |
ñ | 1010 0100 | A4 | 164 |  |
Ñ | 1010 0101 | A5 | 165 |  |
ª | 1010 0110 | A6 | 166 |  |
º | 1010 0111 | A7 | 167 |  |
¿ | 1010 1000 | A8 | 168 |  |
⌐ | 1010 1001 | A9 | 169 |  |
¬ | 1010 1010 | AA | 170 |  |
½ | 1010 1011 | AB | 171 |  |
¼ | 1010 1100 | AC | 172 |  |
¡ | 1010 1101 | AD | 173 |  |
« | 1010 1110 | AE | 174 |  |
» | 1010 1111 | AF | 175 |  |
░ | 1011 0000 | B0 | 176 |  |
▒ | 1011 0001 | B1 | 177 |  |
▓ | 1011 0010 | B" | 178 |  |
│ | 1011 0011 | B3 | 179 |  |
┤ | 1011 0100 | B4 | 180 |  |
╡ | 1011 0101 | B5 | 181 |  |
╢ | 1011 0110 | B6 | 182 |  |
╖ | 1011 0111 | B7 | 183 |  |
╕ | 1011 1000 | B8 | 184 |  |
╣ | 1011 1001 | B9 | 185 |  |
║ | 1011 1010 | BA | 186 |  |
╗ | 1011 1011 | BB | 187 |  |
╝ | 1011 1100 | BC | 188 |  |
╜ | 1011 1101 | BD | 189 |  |
╛ | 1011 1110 | BE | 190 |  |
┐ | 1011 1111 | BF | 191 |  |
└ | 1100 0000 | C0 | 192 |  |
┴ | 1100 0001 | C1 | 193 |  |
┬ | 1100 0010 | C2 | 194 |  |
├ | 1100 0011 | C3 | 195 |  |
─ | 1100 0100 | C4 | 196 |  |
┼ | 1100 0101 | C5 | 197 |  |
╞ | 1100 0110 | C6 | 198 |  |
╟ | 1100 0111 | C7 | 199 |  |
╚ | 1100 1000 | C8 | 200 |  |
╔ | 1100 1001 | C9 | 201 |  |
╩ | 1100 1010 | CA | 202 |  |
╦ | 1100 1011 | CB | 203 |  |
╠ | 1100 1100 | CC | 204 |  |
═ | 1100 1101 | CD | 205 |  |
╬ | 1100 1110 | CE | 206 |  |
╧ | 1100 1111 | CF | 207 |  |
╨ | 1101 0000 | D0 | 208 |  |
╤ | 1101 0001 | D1 | 209 |  |
╥ | 1101 0010 | D2 | 210 |  |
╙ | 1101 0011 | D3 | 211 |  |
╘ | 1101 0100 | D4 | 212 |  |
╒ | 1101 0101 | D5 | 213 |  |
╓ | 1101 0110 | D6 | 214 |  |
╫ | 1101 0111 | D7 | 215 |  |
╪ | 1101 1000 | D8 | 216 |  |
┘ | 1101 1001 | D9 | 217 |  |
┌ | 1101 1010 | DA | 218 |  |
█ | 1101 1011 | DB | 219 |  |
▬ | 1101 1100 | DC | 220 |  |
▌ | 1101 1101 | DD | 221 |  |
▐ | 1101 1110 | DE | 222 |  |
▀ | 1101 1111 | DF | 223 |  |
α | 1110 0000 | E0 | 224 |  |
ß | 1110 0001 | E1 | 225 |  |
Γ | 1110 0010 | E2 | 226 |  |
π | 1110 0011 | E3 | 227 |  |
Σ | 1110 0100 | E4 | 228 |  |
σ | 1110 0101 | E5 | 229 |  |
µ | 1110 0110 | E6 | 230 |  |
τ | 1110 0111 | E7 | 231 |  |
Φ | 1110 1000 | E8 | 232 |  |
Θ | 1110 1001 | E9 | 233 |  |
Ω | 1110 1010 | EA | 234 |  |
δ | 1110 1011 | EB | 235 |  |
∞ | 1110 1100 | EC | 236 |  |
φ | 1110 1101 | ED | 237 |  |
ε | 1110 1110 | EE | 238 |  |
∩ | 1110 1111 | Ef | 239 |  |
≡ | 1111 0000 | F0 | 240 |  |
± | 1111 0001 | F1 | 241 |  |
≥ | 1111 0010 | F2 | 242 |  |
≤ | 1111 0011 | F3 | 243 |  |
⌠ | 1111 0100 | F4 | 244 |  |
⌡ | 1111 0101 | F5 | 245 |  |
÷ | 1111 0110 | F6 | 246 |  |
≈ | 1111 0111 | F7 | 247 |  |
° | 1111 1000 | F8 | 248 |  |
∙ | 1111 1001 | F9 | 249 |  |
· | 1111 1010 | FA | 250 |  |
√ | 1111 1011 | FB | 251 |  |
ⁿ | 1111 1100 | FC | 252 |  |
² | 1111 1101 | FD | 253 |  |
■ | 1111 1110 | FE | 254 |  |
 | 1111 1111 | FF | 255 |  |


Update Script to 8.1.3.x

Below is a script which you may run to update V8 databases from IFC compatibility 8.1.2.x to IFC=8.1.3.x:

Please make sure, you adapt the scripts to your Hotel's needs and specific database setup, before running it.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

/* Update script for IFC8 Updates from 8.1.2.x to 8.1.3.x

needed for Suite8 version 8.1.7.x

*/

/* 1. Add masking config field to IDRV, default value will be: "0" for NO masking

*/

ALTER TABLE IDRV ADD ( IDRV_DIAL_MSK NUMBER (2) );

COMMENT ON COLUMN IDRV.IDRV_DIAL_MSK IS 'the number of digits which should masked in DialedDigits

(this will be ignored if any other IRMS_DIAL_MSK defined for a current ExtensionNumber in IRMS)';

update idrv set idrv.idrv_dial_msk = 0;

/* 2. Adding three new fields to IHST to allow more enhanced reporting. This fields will be filled with

IFC versions 8.1.3.6 and newer.

*/

ALTER TABLE IHST ADD ( IHST_DATE_POST DATE );

COMMENT ON COLUMN IHST.IHST_DATE_POST IS 'The Date & Time-stamp when the posting was written to PMS';

ALTER TABLE IHST ADD ( IHST_CHECK_NUM VARCHAR2 (20) );

COMMENT ON COLUMN IHST.IHST_CHECK_NUM IS 'The GuestCheck number';

ALTER TABLE IHST ADD ( IHST_SUPPL_DEF VARCHAR2 (30) );

COMMENT ON COLUMN IHST.IHST_SUPPL_DEF IS 'The Supplement Info (as sent to PMS)';

/* 3. New field in IRMS, where masking of dialled digits can be configured per extension.

*/

ALTER TABLE IRMS ADD (IRMS_DIAL_MSK NUMBER (2) );

COMMENT ON COLUMN IRMS.IRMS_DIAL_MSK IS 'The number of digits which should masked in DialedDigits for the current ExtensionNumber';

update irms set irms.irms_dial_msk = 0;

/* 4. Further fields to IGST needed for enhancements to the Database Swap in IFC 8.1.3.x

*/

ALTER TABLE IGST ADD ( IGST_CHKIN NUMBER (1) );

COMMENT ON COLUMN IGST.IGST_CHKIN IS 'The Interface CheckIn state 0=False 1=True. This is used ny the IFC

to identify, if this guest is currently checked in or if this was the last guest to be checked out

from the respective extension';

ALTER TABLE IGST ADD (IGST_GN_FRM VARCHAR2 (64) );

COMMENT ON COLUMN IGST.IGST_GN_FRM IS 'The GuestFormattedname';

/* 5. Removing field ICFG_CASHIER and adding ICFG_ZCAS_ID to stay conform with other naming conventions

Values stay the same: you need to enter the ZCAS_ID from the respective interface cashier for this IFC.

NOTE: This script will NOT fill any values to this field, that needs to be done manually after

the update !!

*/

ALTER TABLE ICFG DROP ( ICFG_CASHIER );

ALTER TABLE ICFG ADD ( ICFG_ZCAS_ID NUMBER (30) );

COMMENT ON COLUMN ICFG.ICFG_ZCAS_ID IS 'Interface Cashier ID from ZCAS.ZCAS_ID';

/* 6. New field in IWKC for Wakeup result descriptions, as they will be displayed in the PMS.

*/

ALTER TABLE IWKC ADD (IWKC_RESULT_DESC VARCHAR2 (64) );

COMMENT ON COLUMN IWKC.IWKC_RESULT_DESC IS 'Wakeup Result Description -> Depending on current result and/or retry status';

/* 7. New table IERR. This table is used to configured and/or translate error messages.

*/

CREATE TABLE IERR (

IERR_ID NUMBER (30) NOT NULL,

IERR_ICFG_ID NUMBER (30) NOT NULL,

IERR_ACT_TYPE VARCHAR2 (30),

IERR_REQ_TYPE NUMBER (3),

IERR_ANS_STAT VARCHAR2 (2),

IERR_TXT_DEF VARCHAR2 (64),

IERR_LONGDESC VARCHAR2 (30),

CONSTRAINT IERR_PK

PRIMARY KEY ( IERR_ID )

USING INDEX

TABLESPACE V8INDEX PCTFREE 10

STORAGE ( INITIAL 40960 NEXT 40960 PCTINCREASE 50 ))

TABLESPACE V8MAIN

PCTFREE 10

PCTUSED 40

INITRANS 1

MAXTRANS 255

STORAGE (

INITIAL 40960

NEXT 40960

PCTINCREASE 50

MINEXTENTS 1

MAXEXTENTS 505

FREELISTS 1 FREELIST GROUPS 1 )

NOCACHE;

CREATE SEQUENCE seq_IERR increment by 1 start with 1000 nomaxvalue nocycle nocache noorder;

COMMENT ON COLUMN IERR.IERR_ACT_TYPE IS 'the corresponding ActionType (e.g. "PostAnswer")';

COMMENT ON COLUMN IERR.IERR_ANS_STAT IS 'the corresponding AnswerStatus: Code / InterfaceType / Meaning "BM" / VSS / remote check-out / Balance mismatch "BY" / Wakeup / Key Services / Busy "CD" / VSS / remote check-out / Check-out date is not today "CO / All PostingRequest Systems / Posting denied because overwrite CreditLimit is not allowed "DN" / EFT / Request denied "FX" / All systems / Guest related requests"Guest"not allowed this feature "IA" / All systems / Guest related requests"Invalid account "NA" / All systems / Night Audit "NF" / VSS / remote check-out / Feature not enabled or Check-Out process not running "NG" / All info requests / Guest not found "NM" / All Message systems / Message / Locator request Message / Locator not found "NP / All PostingRequest Systems / Posting denied because NoPost is set "NR" / Wakeup / No Response "SV" / Wakeup / Sent to Vendor System "OK" / All systems / Command or request successful "RF" / EFT / Referral (pls. Call for Auth) "RY" / All systems / Retry "UR" / All requests / Unprocessable request, this request cannot be carried out, no retry "DE" / Wakeup / WakeUp is deleted';

COMMENT ON COLUMN IERR.IERR_ICFG_ID IS 'Link-ID to ICFG';

COMMENT ON COLUMN IERR.IERR_ID IS 'IERR_ID identifies IERR';

COMMENT ON COLUMN IERR.IERR_REQ_TYPE IS 'the corresponding ReqestType 1 =Post by PaymentMethod 2 =Post by Track2 4 =Post by RoomNum 8 =Post by GuestName 16=Post by GuestNum';

COMMENT ON COLUMN IERR.IERR_TXT_DEF IS 'the ClearText definition';

commit;

/* Note: Now this script will insert some example records for M87 to IERR. Should you not want them remove

the following lines.

*/

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF, IERR_LONGDESC ) VALUES (

1, 1, 'PostAnswer', NULL, 'NG', '"Guest or Room not found"', 'PA/NG/ReqType=NULL(default)');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF, IERR_LONGDESC ) VALUES (

2, 1, 'PostAnswer', 1, 'NG', '"Account not found for PaymentMethod:"PaymentMethod'

, 'PA/NG/ReqType=PaymentMethod');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF, IERR_LONGDESC ) VALUES (

3, 1, 'PostAnswer', 2, 'NG', '"Card data not found"', 'PA/NG/ReqType=Track2');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF, IERR_LONGDESC ) VALUES (

4, 1, 'PostAnswer', 4, 'NG', '"Room:"PostInformation" Vacant or Invalid"', 'PA/NG/ReqType=RoomNum');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF, IERR_LONGDESC ) VALUES (

5, 1, 'PostAnswer', 8, 'NG', '"Guest name:"PostInformation" not found"', 'PA/NG/ReqType=GuestName');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF, IERR_LONGDESC ) VALUES (

6, 1, 'PostAnswer', 16, 'NG', '"Reservationnumber:"PostInformation" not found"', 'PA/NG/ReqType=GuestNum');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF, IERR_LONGDESC ) VALUES (

8, 1, 'PostAnswer', NULL, 'FX', '"Posting not allowed (NoPost)"', 'PA/FX/ReqType=NULL(default)');

INSERT INTO IERR ( IERR_ID, IERR_ICFG_ID, IERR_ACT_TYPE, IERR_REQ_TYPE, IERR_ANS_STAT, IERR_TXT_DEF, IERR_LONGDESC ) VALUES (

9, 1, NULL, NULL, 'OK', '"Command or request successful"', 'ALL/OK/ReqType=NULL(default)');

commit;

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Licenses

As of V8 version 8.1.7.x we need to have entries to the WLIC tables for the IFC features.

Should that table not be there, be empty or have the wrong structure, may you use the following script to add the table and/or the data:

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

/* 1. Drop the existing table. NOTE: Only do this, if the existing table is empty !!!

*/

drop table WLIC;

drop sequence seq_WLIC;

create sequence seq_WLIC increment by 1 start with 1000 nomaxvalue nocycle nocache noorder;

/* 2. Add the table with current structure:

*/

create table WLIC (

WLIC_ID NUMBER(30,0) not null,

WLIC_LONGDESC VARCHAR2(30) not null,

WLIC_ACTIVE NUMBER(1,0) not null,

WLIC_CODE VARCHAR2(30) null,

WLIC_GROUP NUMBER(2,0) not null,

WLIC_LICENSENAME VARCHAR2(30) null, constraint WLIC_PK primary key (WLIC_ID) using index tablespace v8index ) tablespace v8main ;

comment on column WLIC.WLIC_ID is ' WLIC_ID identifies WLIC';

comment on column WLIC.WLIC_LONGDESC is ' license code description';

comment on column WLIC.WLIC_ACTIVE is ' 1 = active License';

comment on column WLIC.WLIC_CODE is ' license code.';

comment on column WLIC.WLIC_GROUP is ' 1 - General 2 - Front Office 3 - CCM 4 - Interfaces';

comment on column WLIC.WLIC_LICENSENAME is ' Identifier for license (like fkt logo and function for ifc) ';

/* 3. Inserting Interface licenses

*/

INSERT INTO WLIC ( WLIC_ID, WLIC_LONGDESC, WLIC_ACTIVE, WLIC_CODE, WLIC_GROUP,

WLIC_LICENSENAME ) VALUES (

1, 'IFC Simple Posting', 1, NULL, 4, 'SIMPLE_POSTING');

INSERT INTO WLIC ( WLIC_ID, WLIC_LONGDESC, WLIC_ACTIVE, WLIC_CODE, WLIC_GROUP,

WLIC_LICENSENAME ) VALUES (

2, 'IFC Enhanced Posting', 1, NULL, 4, 'ENHANCED_POSTING');

INSERT INTO WLIC ( WLIC_ID, WLIC_LONGDESC, WLIC_ACTIVE, WLIC_CODE, WLIC_GROUP,

WLIC_LICENSENAME ) VALUES (

3, 'IFC POS Check Detail Transfer', 1, NULL, 4, 'CHECK_DETAILS');

INSERT INTO WLIC ( WLIC_ID, WLIC_LONGDESC, WLIC_ACTIVE, WLIC_CODE, WLIC_GROUP,

WLIC_LICENSENAME ) VALUES (

4, 'IFC Check In/Out', 1, NULL, 4, 'CHECK_IN_OUT');

INSERT INTO WLIC ( WLIC_ID, WLIC_LONGDESC, WLIC_ACTIVE, WLIC_CODE, WLIC_GROUP,

WLIC_LICENSENAME ) VALUES (

5, 'IFC Voicemail Handling', 1, NULL, 4, 'VOICEMAIL');

INSERT INTO WLIC ( WLIC_ID, WLIC_LONGDESC, WLIC_ACTIVE, WLIC_CODE, WLIC_GROUP,

WLIC_LICENSENAME ) VALUES (

6, 'IFC Wakeup Call Handling', 1, NULL, 4, 'WAKEUP');

INSERT INTO WLIC ( WLIC_ID, WLIC_LONGDESC, WLIC_ACTIVE, WLIC_CODE, WLIC_GROUP,

WLIC_LICENSENAME ) VALUES (

7, 'IFC Text Message Handling', 1, NULL, 4, 'TEXT_MESSAGE');

INSERT INTO WLIC ( WLIC_ID, WLIC_LONGDESC, WLIC_ACTIVE, WLIC_CODE, WLIC_GROUP,

WLIC_LICENSENAME ) VALUES (

8, 'IFC DID/Virtual Numbers', 1, NULL, 4, 'VIRTUAL_NUMBERS');

INSERT INTO WLIC ( WLIC_ID, WLIC_LONGDESC, WLIC_ACTIVE, WLIC_CODE, WLIC_GROUP,

WLIC_LICENSENAME ) VALUES (

9, 'IFC Partial Call Accounting', 1, NULL, 4, 'PARTIAL_CAS');

INSERT INTO WLIC ( WLIC_ID, WLIC_LONGDESC, WLIC_ACTIVE, WLIC_CODE, WLIC_GROUP,

WLIC_LICENSENAME ) VALUES (

10, 'IFC Full Call Accounting', 1, NULL, 4, 'FULL_CAS');

INSERT INTO WLIC ( WLIC_ID, WLIC_LONGDESC, WLIC_ACTIVE, WLIC_CODE, WLIC_GROUP,

WLIC_LICENSENAME ) VALUES (

11, 'IFC Credit Card Handling', 1, NULL, 4, 'EFT_SYSTEM');

INSERT INTO WLIC ( WLIC_ID, WLIC_LONGDESC, WLIC_ACTIVE, WLIC_CODE, WLIC_GROUP,

WLIC_LICENSENAME ) VALUES (

12, 'IFC Key Service System', 1, NULL, 4, 'KEY_SYSTEM');

INSERT INTO WLIC ( WLIC_ID, WLIC_LONGDESC, WLIC_ACTIVE, WLIC_CODE, WLIC_GROUP,

WLIC_LICENSENAME ) VALUES (

13, 'IFC Bill View', 1, NULL, 4, 'BILL_VIEW');

INSERT INTO WLIC ( WLIC_ID, WLIC_LONGDESC, WLIC_ACTIVE, WLIC_CODE, WLIC_GROUP,

WLIC_LICENSENAME ) VALUES (

14, 'IFC Remote Check-Out', 1, NULL, 4, 'REMOTE_CHECK_OUT');

commit;

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


Drop not used Tables - Script

There are a few tables, which used to be in the install-script, which have become obsolete now.

To remove these tables, run the following script:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

/*1. Remove unused tables

*/

drop table IEXT;

drop table IRST;

drop table IVDF;

drop table IWKT;

commit;

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


IFC Tables - Update Script to 8.1.4.x

Update Script to 8.1.4.x

/* Update script for IFC8 Updates from 8.1.3.x to 8.1.4.x

*/

/*1. Remove existing IMSQ table and recreate it, as with implementation of TCP connection the structure has changed. As any data in this table is redone with IFC-restart it can be dropped without backup.

*/

DROP TABLE IMSQ CASCADE CONSTRAINTS ;

CREATE TABLE IMSQ (

IMSQ_ID NUMBER (30) NOT NULL,

IMSQ_ICFG_ID NUMBER (30) NOT NULL,

IMSQ_MQ_NAME VARCHAR2 (30),

IMSQ_PC_PMS VARCHAR2 (64),

IMSQ_PC_IFC VARCHAR2 (64),

IMSQ_PORT NUMBER (4),

CONSTRAINT IMSQ_PK

PRIMARY KEY ( IMSQ_ID )

USING INDEX

TABLESPACE V8INDEX PCTFREE 10

STORAGE ( INITIAL 40960 NEXT 40960 PCTINCREASE 50 ))

TABLESPACE V8MAIN

PCTFREE 10

PCTUSED 40

INITRANS 1

MAXTRANS 255

STORAGE (

INITIAL 40960

NEXT 40960

PCTINCREASE 50

MINEXTENTS 1

MAXEXTENTS 505

FREELISTS 1 FREELIST GROUPS 1 )

NOCACHE;

COMMENT ON TABLE IMSQ IS 'The definition of (MSMQ) message queues for FO-WS & IFC-Server';

COMMENT ON COLUMN IMSQ.IMSQ_ID IS 'IMSQ_ID identifies IMSQ';

COMMENT ON COLUMN IMSQ.IMSQ_ICFG_ID IS 'Link-ID to ICFG';

COMMENT ON COLUMN IMSQ.IMSQ_PORT IS ' the MsqType: 0 = MSMQ 1...9999 = TcpMqPort';

COMMENT ON COLUMN IMSQ.IMSQ_MQ_NAME IS 'the NAME of the MsQueue without the "IFC" or "PMS" prefix';

COMMENT ON COLUMN IMSQ.IMSQ_PC_IFC IS 'the IFC_SERV (=IFC-PC) computer name (MSQ-FormatName)';

COMMENT ON COLUMN IMSQ.IMSQ_PC_PMS IS 'Not used';

/* 2. Add table IACT, used to store outgoing commands from PMS during IFC-downtimes:

*/

CREATE TABLE IACT (

IACT_ID NUMBER (30) NOT NULL,

IACT_ICFG_ID NUMBER (30) NOT NULL,

IACT_ACT_NAME VARCHAR2 (64),

IACT_DATE DATE,

IACT_PRIOR NUMBER (2),

IACT_SRC_IP VARCHAR2 (20),

IACT_SRC_NAME VARCHAR2 (64),

IACT_DATA LONG,

CONSTRAINT IACT_PK

PRIMARY KEY ( IACT_ID )

USING INDEX

TABLESPACE V8INDEX PCTFREE 10

STORAGE ( INITIAL 40960 NEXT 40960 PCTINCREASE 50 ))

TABLESPACE V8MAIN

PCTFREE 10

PCTUSED 40

INITRANS 1

MAXTRANS 255

STORAGE (

INITIAL 40960

NEXT 40960

PCTINCREASE 50

MINEXTENTS 1

MAXEXTENTS 505

FREELISTS 1 FREELIST GROUPS 1 )

NOCACHE;

COMMENT ON COLUMN IACT.IACT_ACT_NAME IS 'the ActionName';

COMMENT ON COLUMN IACT.IACT_DATA IS 'the XmlAction';

COMMENT ON COLUMN IACT.IACT_DATE IS 'the TimeStamp';

COMMENT ON COLUMN IACT.IACT_ICFG_ID IS 'IACT_ICFG_ID is of IACT';

COMMENT ON COLUMN IACT.IACT_ID IS 'IACT_ID identifies IACT';

COMMENT ON COLUMN IACT.IACT_PRIOR IS 'the Priority';

COMMENT ON COLUMN IACT.IACT_SRC_IP IS 'the FO_WS IP address';

COMMENT ON COLUMN IACT.IACT_SRC_NAME IS 'the FO-WS ComputerName';

create sequence seq_IACT increment by 1 start with 1000 nomaxvalue;

commit;


IFC Tables - Update Script to 8.1.5.x

/* Update script for IFC8 Updates from 8.1.4.x to 8.1.5.x

*/

/* 1. Removing field ICFG_IFC_NUM. IFC will now read ICFG_ID directly.

*/

ALTER TABLE ICFG DROP ( ICFG_IFC_NUM );

/* 2. Add fields for ID-Prefix handling in IDRV. (Needed in case Message or Reservation IDs have more digits then the protocol to the vendor system can support.)

*/

ALTER TABLE IDRV ADD (IDRV_YRES_PRFX VARCHAR2(30), IDRV_YMES_PRFX VARCHAR2(30));

COMMENT ON COLUMN IDRV.IDRV_YRES_PRFX IS ' the current YRES_ID prefix for VendorActions';

COMMENT ON COLUMN IDRV.IDRV_YMES_PRFX IS ' the current YMES_ID prefix for VendorActions';

commit;


IFC Tables - Update Script to 8.1.6.x

There are no table changes between 8.1.5.x and 8.1.6.x

The main version numbers was upped by one to indicate compatibility to the PMS version.

IFC 8.1.5.x is compatible to V8 = 8.1.19.x

IFC 8.1.6.x is compatible to V8 = 8.2.0.x


IFC Tables - Update Script to 8.1.7.x

/* Update script for IFC8 Updates from 8.1.5.x to 8.1.7.x

*/

/* 1. Create new field for DefRef Field-/SQL-Condition IDFR_CONDITION(LONG)

*/

ALTER TABLE IDRF ADD (IDRF_CONDITION LONG);

COMMENT ON COLUMN IDRF.IDRF_CONDITION IS 'Used to enter the requested FieldNames/Separators for V8_IFC_RESERVATIONSEARCH or SQL-Condition for all other views';

/* 2. Convert the DefRef Field-Definition in IDRF_FIELD_NAME

*/

ALTER TABLE IDRF MODIFY (IDRF_FIELD_NAME VARCHAR2(127));

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"DEST_TYPE"','''||DEST_TYPE||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'DEST_TYPE"','DEST_TYPE||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"DEST_TYPE','''||DEST_TYPE');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"DEST_ID"','''||DEST_ID||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'DEST_ID"','DEST_ID||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"DEST_ID','''||DEST_ID');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"RESERVATIONNUMBER"','''||RESERVATIONNUMBER||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'RESERVATIONNUMBER"','RESERVATIONNUMBER||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"RESERVATIONNUMBER','''||RESERVATIONNUMBER');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"GUESTNUMBER"','''||GUESTNUMBER||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'GUESTNUMBER"','GUESTNUMBER||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"GUESTNUMBER','''||GUESTNUMBER');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"FORMATTEDNAME"','''||FORMATTEDNAME||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'FORMATTEDNAME"','FORMATTEDNAME||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"FORMATTEDNAME','''||FORMATTEDNAME');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"LASTNAME"','''||LASTNAME||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'LASTNAME"','LASTNAME||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"LASTNAME','''||LASTNAME');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"UPLASTNAME"','''||UPLASTNAME||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'UPLASTNAME"','UPLASTNAME||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"UPLASTNAME','''||UPLASTNAME');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"FIRSTNAME"','''||FIRSTNAME||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'FIRSTNAME"','FIRSTNAME||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"FIRSTNAME','''||FIRSTNAME');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"TITLE"','''||TITLE||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'TITLE"','TITLE||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"TITLE','''||TITLE');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"ROOMNUMBER"','''||ROOMNUMBER||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'ROOMNUMBER"','ROOMNUMBER||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"ROOMNUMBER','''||ROOMNUMBER');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"ARRIVALDATE"','''||ARRIVALDATE||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'ARRIVALDATE"','ARRIVALDATE||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"ARRIVALDATE','''||ARRIVALDATE');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"DEPARTUREDATE"','''||DEPARTUREDATE||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'DEPARTUREDATE"','DEPARTUREDATE||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"DEPARTUREDATE','''||DEPARTUREDATE');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"DEPARTURETIME"','''||DEPARTURETIME||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'DEPARTURETIME"','DEPARTURETIME||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"DEPARTURETIME','''||DEPARTURETIME');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"SHARENUMBER"','''||SHARENUMBER||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'SHARENUMBER"','SHARENUMBER||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"SHARENUMBER','''||SHARENUMBER');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"NOPOSTFLAG"','''||NOPOSTFLAG||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'NOPOSTFLAG"','NOPOSTFLAG||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"NOPOSTFLAG','''||NOPOSTFLAG');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"ADULTS"','''||ADULTS||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'ADULTS"','ADULTS||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"ADULTS','''||ADULTS');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"KIDS"','''||KIDS||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'KIDS"','KIDS||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"KIDS','''||KIDS');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"LANGUAGE"','''||LANGUAGE||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'LANGUAGE"','LANGUAGE||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"LANGUAGE','''||LANGUAGE');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"GROUPID"','''||GROUPID||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'GROUPID"','GROUPID||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"GROUPID','''||GROUPID');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"GROUPNAME"','''||GROUPNAME||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'GROUPNAME"','GROUPNAME||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"GROUPNAME','''||GROUPNAME');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"GUESTRESSTATUS"','''||GUESTRESSTATUS||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'GUESTRESSTATUS"','GUESTRESSTATUS||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"GUESTRESSTATUS','''||GUESTRESSTATUS');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"VIP"','''||VIP||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'VIP"','VIP||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"VIP','''||VIP');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"REMARK1"','''||REMARK1||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'REMARK1"','REMARK1||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"REMARK1','''||REMARK1');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"REMARK2"','''||REMARK2||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'REMARK2"','REMARK2||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"REMARK2','''||REMARK2');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"PAYMETHOD"','''||PAYMETHOD||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'PAYMETHOD"','PAYMETHOD||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"PAYMETHOD','''||PAYMETHOD');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"RATECODE"','''||RATECODE||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'RATECODE"','RATECODE||''');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"RATECODE','''||RATECODE');

UPDATE IDRF SET IDRF_FIELD_NAME = REPLACE(IDRF_FIELD_NAME,'"','''');

/* 3. Copy DefRef Field-Definition from IDRF_FIELD_NAME(VARCHAR2(30)) to IDFR_CONDITION(LONG)

*/

UPDATE IDRF SET IDRF_CONDITION = IDRF_FIELD_NAME||' DefRef'||IDRF_DEFREF_NUM WHERE IDRF_ACT_TYPE IS NULL AND IDRF_DEFREF_NUM <> -1;

UPDATE IDRF SET IDRF_CONDITION = IDRF_FIELD_NAME||' '||IDRF_ACT_TYPE||'_DefRef'||IDRF_DEFREF_NUM WHERE IDRF_ACT_TYPE IS NOT NULL AND IDRF_DEFREF_NUM <> -1;

UPDATE IDRF SET IDRF_CONDITION = IDRF_FIELD_NAME||' GuestFormattedname' WHERE IDRF_ACT_TYPE IS NULL AND IDRF_DEFREF_NUM = -1;

UPDATE IDRF SET IDRF_CONDITION = IDRF_FIELD_NAME||' '||IDRF_ACT_TYPE||'_GuestFormattedname' WHERE IDRF_ACT_TYPE IS NOT NULL AND IDRF_DEFREF_NUM = -1;

/* 4. Building the IDRF_LONGDESC

*/

ALTER TABLE IDRF ADD (IDRF_LONGDESC VARCHAR(64) NULL);

UPDATE IDRF SET IDRF_LONGDESC = IDRF_ACT_TYPE||'.'||'DefRef'||IDRF_DEFREF_NUM WHERE IDRF_ACT_TYPE IS NOT NULL AND IDRF_DEFREF_NUM > -1;

UPDATE IDRF SET IDRF_LONGDESC = IDRF_ACT_TYPE||'.'||'GuestFormattedname' WHERE IDRF_ACT_TYPE IS NOT NULL AND IDRF_DEFREF_NUM = -1;

UPDATE IDRF SET IDRF_LONGDESC = '*.'||'DefRef'||IDRF_DEFREF_NUM WHERE IDRF_ACT_TYPE IS NULL AND IDRF_DEFREF_NUM > -1;

UPDATE IDRF SET IDRF_LONGDESC = '*.'||'GuestFormattedname' WHERE IDRF_ACT_TYPE IS NULL AND IDRF_DEFREF_NUM = -1;

/* 5. Removing the now unused fields: IDRF_FIELD_NAME, IDRF_DEFREF_NUM and IDRF_ACT_TYPE

*/

ALTER TABLE IDRF DROP ( IDRF_FIELD_NAME );

ALTER TABLE IDRF DROP ( IDRF_DEFREF_NUM );

ALTER TABLE IDRF DROP ( IDRF_ACT_TYPE );

/* 6. Building the ICRD table. This will be used to store Track2 info of guestcards for POS identification (ex_FO_CARD)

*/

drop table ICRD;

drop sequence seq_ICRD;

create sequence seq_ICRD increment by 1 start with 1000 nomaxvalue nocycle nocache noorder;

create table ICRD (

ICRD_ID NUMBER(30,0) not null,

ICRD_ICFG_ID NUMBER(30,0) not null,

ICRD_ACTIVE NUMBER(1,0) null,

ICRD_ANSWERSTAT VARCHAR2(2) null,

ICRD_IRMS_ID NUMBER(30,0) null,

ICRD_YRES_ID NUMBER(30,0) null,

ICRD_XCMS_ID NUMBER(30,0) null,

ICRD_KEYTYPE VARCHAR2(1) null,

ICRD_KEYOPTIONS VARCHAR2(20) null,

ICRD_TRACK1 VARCHAR2(64) null,

ICRD_TRACK2 VARCHAR2(64) null,

ICRD_TRACK3 LONG null,

ICRD_DATE DATE null,

ICRD_SEQ_NUM NUMBER(3,0) null,

constraint ICRD_PK primary key (ICRD_ID) using index tablespace v8index ) tablespace v8main ;

comment on column ICRD.ICRD_ID is ' ICRD_ID identifies ICRD';

comment on column ICRD.ICRD_ICFG_ID is ' ICRD_ICFG_ID is of ICRD';

comment on column ICRD.ICRD_IRMS_ID is ' ICRD_IRMS_ID is of ICRD';

comment on column ICRD.ICRD_YRES_ID is ' ICRD_YRES_ID is of ICRD';

comment on column ICRD.ICRD_XCMS_ID is ' ICRD_XCMS_ID is of ICRD';

comment on column ICRD.ICRD_KEYTYPE is ' D=DuplicateKey N=NewKey O=OneShotKey ';

comment on column ICRD.ICRD_KEYOPTIONS is ' KeyOptions for this Card';

comment on column ICRD.ICRD_TRACK1 is ' TRACK1 data';

comment on column ICRD.ICRD_TRACK2 is ' TRACK2 data';

comment on column ICRD.ICRD_TRACK3 is ' TRACK3 data';

comment on column ICRD.ICRD_SEQ_NUM is ' ICRD_SEQ_NUM is of ICRD';

comment on column ICRD.ICRD_ANSWERSTAT is ' AnswerStat for this KeyRequest ';

comment on column ICRD.ICRD_DATE is ' TimeStamp for creating this Card';

comment on table ICRD is ' Table for sent KeyRequest Actions';

/* 7. Renaming ILAN- IDMP- IACC- _LONGDESCR to _LONGDESC

*/

ALTER TABLE ILAN ADD (ILAN_LONGDESC VARCHAR(64) NULL);

UPDATE ILAN SET ILAN_LONGDESC = ILAN_LONGDESCR;

ALTER TABLE ILAN DROP ( ILAN_LONGDESCR );

comment on column ILAN.ILAN_LONGDESC is 'Text field for explanations, which the installer may want to add manually.';

ALTER TABLE IDMP ADD (IDMP_LONGDESC VARCHAR(64) NULL);

UPDATE IDMP SET IDMP_LONGDESC = IDMP_LONGDESCR;

ALTER TABLE IDMP DROP ( IDMP_LONGDESCR );

comment on column IDMP.IDMP_LONGDESC is 'Text field for explanations, which the installer may want to add manually.';

ALTER TABLE IACC ADD (IACC_LONGDESC VARCHAR(64) NULL);

UPDATE IACC SET IACC_LONGDESC = IACC_LONGDESCR;

ALTER TABLE IACC DROP ( IACC_LONGDESCR );

comment on column IACC.IACC_LONGDESC is 'Text field for explanations, which the installer may want to add manually.';

Commit;


IFC Tables - Update Script to 8.1.8.x

/* Update script for IFC8 Updates from 8.1.7.x to 8.1.8.x

*/

/* 1. modify IGST: renaming IGST_SF to IGST_SHARE

*/

ALTER TABLE IGST ADD (IGST_SHARE VARCHAR2(1));

COMMENT ON COLUMN IGST.IGST_SHARE IS 'The GuestShareflag';

UPDATE IGST SET IGST_SHARE = IGST_SF;

ALTER TABLE IGST DROP ( IGST_SF );

/* 2. modify IGST: add IGST_SWAP_NUM

*/

ALTER TABLE IGST ADD (IGST_SWAP_NUM NUMBER(30,0));

COMMENT ON COLUMN IGST.IGST_SWAP_NUM IS 'The number of DataResyncs executed for this guest';

UPDATE IGST SET IGST_SWAP_NUM = 0 WHERE IGST_SWAP_NUM IS NULL;

Commit;


IFC Tables - Update Script to 8.1.9.x

/* 1. Modify ICFG: drop the ICFG_IRND_ID field as rounding is now activated and configured in IDRV

*/

ALTER TABLE ICFG DROP ( ICFG_IRND_ID );

/* 2. modify IDRV: add the IDRV_IRND_TYPE field

*/

ALTER TABLE IDRV ADD ( IDRV_IRND_TYPE NUMBER(1,0));

COMMENT ON COLUMN IDRV.IDRV_IRND_TYPE IS ' Round_up_or_down:

0 = don''t use IRND / no rounding

1 = round always DOWN

2 = round always UP

3 = round exactly (round 0.5 DOWN)

4 = round exactly (round 0.5 UP)

5 = round mathematical exactly (round 1.5 UP / round 2.5 DOWN)';

/* 3. Modify IRND, adding various new fields:

*/

ALTER TABLE IRND ADD (IRND_ICFG_ID NUMBER(30,0));

alter table IRND add constraint ICFG_IRND_FK1 foreign key (IRND_ICFG_ID) references ICFG (ICFG_ID);

ALTER TABLE IRND ADD ( IRND_POST_TYPE VARCHAR2(2) null);

ALTER TABLE IRND ADD ( IRND_EXT_TYPE VARCHAR2(3) null);

ALTER TABLE IRND ADD ( IRND_DIGITS NUMBER(1,0));

ALTER TABLE IRND ADD (IRND_PRECISION NUMBER(3,2));

COMMENT ON COLUMN IRND.IRND_PRECISION IS ' the rounding precision

RoundLimit is IRND_PRECISION * 10 ^IRND_DIGITS e.g.:

IRND_PRECISION=1 / IRND_DIGITS =1 means round to the next 10

IRND_PRECISION=5 / IRND_DIGITS =1 means round to the next 50 ';

COMMENT ON COLUMN IRND.IRND_POST_TYPE IS ' select by PostType';

COMMENT ON COLUMN IRND.IRND_EXT_TYPE IS ' select by ExtensionType';

COMMENT ON COLUMN IRND.IRND_DIGITS IS ' the number of digits for rounding:

1 = round to 10

2 = round to 100

... Etc.';

/* 4. Removing old fields, which are not used any more:

*/

ALTER TABLE IRND DROP ( IRND_NEXT );

ALTER TABLE IRND DROP ( IRND_UP );

ALTER TABLE IRND DROP ( IRND_MULTI );

Commit;


IFC Tables - Update Script to 8.1.10.x

/* 1. Add new indexes for IHST, needed for faster viewing in the PMS.

*/

create index IHST_DATE on IHST(IHST_DATE) tablespace v8index;

create index IHST_POST_ID on IHST(IHST_POST_ID) tablespace v8index;

create index IHST_DEST_ID on IHST(IHST_DEST_ID) tablespace v8index;

create index IHST_EXT_NUM on IHST(IHST_EXT_NUM) tablespace v8index;

/* 2. Modify the ICFG_VERS field, as the current field length is too short.

*/

ALTER TABLE ICFG DROP ( ICFG_VERS );

ALTER TABLE ICFG ADD (ICFG_VERS VARCHAR(20) NULL);

comment on column ICFG.ICFG_VERS is 'IFC8 Version Information';

Commit;


IFC Tables - Update Script to 8.1.11.x

/* 1. change ICFG_CMD_CHK=1 to ICFG_CMD_CHK=2 (to keep the existing C/I behaviour)

*/

UPDATE ICFG

SET ICFG_CMD_CHK=2

WHERE ICFG_CMD_CHK=1;

Commit;


IFC Tables - Update Script to 8.1.12.x

/* 1. Change COMMENTs for IDRV.IDRV_CAS

*/

COMMENT ON COLUMN IDRV.IDRV_CAS IS ' is CallAccounting active ?

1 = PartialCallAccounting

2 = FullCallAccounting

0 = false';

/* 2. Add ICTS fields for CallAccounting

*/

ALTER TABLE ICTS ADD (ICTS_CAS_TYPE NUMBER(1,0) null);

comment on column ICTS.ICTS_CAS_TYPE is ' the CallAccounting overwrite type:

0/NULL = do not calculate with CallAccounting

1 = calculate with CallAccounting if TotalAmount=0

2 = calculate with CallAccounting if Units(MeterPulse)=0

3 = calculate with CallAccounting if TotalAmount=0 AND Units(MeterPulse)=0

4 = calculate always with CallAccounting';

ALTER TABLE ICTS ADD (ICTS_CAS_DIAL CHAR(10) null);

comment on column ICTS.ICTS_CAS_DIAL is ' the DialPrefix for CallAccounting';

ALTER TABLE ICTS ADD (ICTS_CAS_TIME NUMBER(10,5) null);

comment on column ICTS.ICTS_CAS_TIME is ' CallAccounting: the time for one unit(MeterPulse) in sec.';

ALTER TABLE ICTS ADD (ICTS_CAS_GRACE NUMBER(10,5) null);

comment on column ICTS.ICTS_CAS_GRACE is ' CallAccounting Grace period:

if negativ> the grace period will be always subtracted from the call Duration

if positiv> the Call will be posted with the full Duration time if the Duration > ICAS_GRACE_TIME';

ALTER TABLE ICTS ADD (ICTS_PCAS_PRICE NUMBER(10,0) null);

comment on column ICTS.ICTS_PCAS_PRICE is ' the Price for PartialCallAccounting ';

ALTER TABLE ICTS ADD (ICTS_LONGDESC CHAR(30) null);

/* 3. Modify IHST_CAS_INFO field for enhanced CallAccounting info

*/

ALTER TABLE IHST DROP (IHST_CAS_INFO);

ALTER TABLE IHST ADD (IHST_CAS_INFO VARCHAR2(35) NULL);

comment on column IHST.IHST_CAS_INFO is 'Additional info from Full Call Accounting:

[ICTS_ID]/[ICTS_CAS_DIAL]';

Commit;


IFC Tables - Update Script to 8.1.13.x

*/

/* 1. Modifying IDRV for new VM handling:

/* adding field IDRV_VM_NOTIFY

*/

ALTER TABLE IDRV ADD (IDRV_VM_NOTIFY NUMBER(1,0));

COMMENT ON COLUMN IDRV.IDRV_VM_NOTIFY IS ' Get notification upon VM-event

0 = no

1 = as MessageLightstatus

2 = as GuestMess (text)

';

*/

/* Filling IDRV_VM_NOTIFY with contents of IDRV_ML_VM

*/

UPDATE IDRV SET IDRV_VM_NOTIFY = IDRV_ML_VM;

*/

/* drop IDRV_ML_VM

*/

ALTER TABLE IDRV DROP ( IDRV_ML_VM );

Commit;


IFC Tables - Update Script to 8.1.14.x

/* Update script for IFC8 Updates from 8.1.13.x to 8.1.14.x

*/

/* 1. Modify table IWKC to allow larger entries:

*/

ALTER TABLE IWKC MODIFY (IWKC_RESULT_DESC CHAR(128));

ALTER TABLE IWKC MODIFY (IWKC_SET_USR CHAR(64));

ALTER TABLE IWKC MODIFY (IWKC_RES_USR CHAR(64));

Commit;


What's new in 8.1.2.x ?

Compatibility:

Interface version 8.1.2.x is compatible to PMS version 8.1.4.x

IFC 8.1.2.x is the last version, which needs BDE on the IFC-PC.


New FKT-Logos in 8.1.2.x

V1.2.0 Added support for Remanco Vision (RC2)

V1.2.0 Added error description for unknow FKT_LOGO

V1.2.0 Added support for Prodac (PPC)

V1.2.1 Added support for T.M.S. Callstar (CSB)

V1.2.4 Added support for Siemens Caracas (SCV)

V1.2.4 Added support for MF-POS (FIAS_MFPOS)

V1.2.7 Added support for SIM-Parser (SIM)

V1.2.7 Added support for Vingcard 3000 (VC3)

V1.2.7 Added support for Thorn Guestlink (TGL)

V1.2.7 Added support for Alcatel 4400 (A44)

V1.2.7 Added support for Micros 8700 (M87POS)

V1.2.7 Added support for BCS, Bosch/Teneovis Telecom "FIAS_BCS"


What's new in 8.1.3.x ?

Compatibility:

Interface version 8.1.3.x is compatible to PMS version 8.1.7.x

From this version on IFC will use the native Oracle driver in FidelioDatabase.Dll, no BDE needs to be installed on the IFC-PC any more.


New FKT-Logos in 8.1.3.x

V1.3.1 Added support for Grundig ASIS (GAS)

V1.3.1 Added support for Mitel SX 2000 (M2K)

V1.3.7 Added support for Ericsson Businessphone (EBP)

V1.3.7 Added support for Visual Media Services (VIS, GAS clone)

V1.3.7 Added support for Hoerbar Voicemail System FktLogo="FIAS_HRB"

V1.3.8 Added support for EBP Low LEvel Protocoll (LLC_EBP)


New in 8.1.3.1 to 8.1.3.9

  1. Added the FoNotify function: send a CrossAction to other IFCs (e.g. VoiceMail notification)

  2. Added the SetTrack2 function for KeyRequest_O (standard 16-digits ONLY!!)

  3. New in PostingSimplePosInq:IFC is now restoring the PostInformation if it's not returned by the IFC-object in Postrequests

  4. Added the ReadTrack2 function for PostInquiry_I (standard 16-digits ONLY!!)

  5. Added the DialNum masking in PostSimple_I

  6. Fixex the BalanceAmount in PostInquiry_I for ZFAC_IDs

  7. Modified the V8_IFC_RE_GUEST/V8_IFC_RE_ROOM views with ChkIn=IGST.IGST_CHKIN (new field in IGST)

  8. Fixed the error in DataResync_I if the MessageLight is locked (= not allowed in IRMS)

  9. Added functionality to hold CheckedOut Guests in IGST

  10. Renamed the ICFG_CASHIER to ICFG_ZCAS_ID

  11. Modified DataResync_I: get the GuestDetails for GuestOut from IGST; if not available in V8_IFC_RESERVATIONSEARCH try a GuestOut without GuestDetails

  12. Added the Timer for internal WakeUp handling

  13. Added Posting by DestType.ZFAC_LONGDESC (Destination_ID=2)

  14. Added new fields in SetIhst: IHST_SUPPL_DEF, IHST_CHECK_NUM, IHST_DATE_POST

  15. Added GetIerr function with new table IERR for translation/configuration of error messages

  16. Fixed an error in DataResync_I if no match was found in ILAN

  17. Remove the "ORDER BY" from V8_IFC_ROOM-view (too slow in V8_IFC_GUEST)

  18. Added the IWKC_RESULT_DESC in IWKC table and V8_IFC_WAKE view

  19. Fixed the RoomEquipment_I/RoomStatus

  20. Added the IWKC_RETRY in V8_IFC_WAKE (SetIfcWakeView)

  21. Enabled new Wakeup handling

  22. Fixed PostSimple Error: a matching PostInquiry is overwritten by a later PostInquiry

  23. Fixed the get BalanceAmount in PostInquiry_I for more then one matches

  24. Added the Posting with DestType.LostPost for unprocessible Postings

  25. Don't raise an Error, when a unit-posting with Units="0" is received

  26. Added the "Split Tip only" by default (NULL) settings in IDCO

  27. PostInquiry_I: build & send an PostAnswer="UR" on unsufficient PostInformation

  28. Modified GetIdco: combine SalesItems with the same IDCO_IDs (EX-???_SPLT handling)

  29. Added suport for a new function in Fideliodatabase.Dll, where the Oracle connection can now be checked.

  30. When ICFG_COM_CHK ist set to "0" , then IFC properly filters out the C/I records from FO, but still send the RE-records for the respective extension during C/I. Changed IfcBusi.Dll, so that in case of a GI/GC or GO action no room-equipment action is passed on to the interface.

  31. Fixed a problem in CSB, where the dialled number was not trimmed.


New in 8.1.3.10

  1. Fixed a problem in the MSMQ read routine, where IFC would stop reading MSMQ, when an invalid record was received via MSMQ.

  2. Fixed a problem in the posting routine, where posting would fail, ifc PostType="T" and IDRV_IDCO_SELECT was empty.

  3. Fixed the V8_IFC_RE_GUEST_X view in SetIfcReView (Rights had been missing).


New in 8.1.3.11

  1. Added new Config attributes to GAS and TGL where the Welcome-Display-Flag in the INFO record is now configurable. (See Xonfig.Xml docu)

  2. Fixed a problem in the posting routine, where IDRV.IDRV_FEATURES->TaxIn/TaxEx was ignored.

  3. Fixed a problem in the posting routine with Autobalancing and discounts

  4. GAS - Added "00000" as hardcoded group-ID in the INFO record.


New in 8.1.3.12


What's new in 8.1.4.x ?

Main new feature is, that as of 8.1.4.x IfcBusi.Dll and IFC8.Exe can communicate via TCP winsock as a second layer to the prior MSMQ-communication.

MSMQ can be used for networks with up to 10 workstations running Fidelio V8. This is due to a limitation of MSMQ on workstation operating systems: no more then 10 connections at one time are supported.

To allow more then 10 connection you need to install the interface PC with a server OS (e.g. Win 2000 Server).

The communication layer is selected in the Ifc8Config.Xml:

New attributes:

MsqTcpPort="5500"

MsqTcpDns="Y"

Should these be missing or empty will IFC8 communicate using MSMQ.

If MsqTcpDns="N" or not exist at all will IFC use the direct IP address (no DNS).

If MsqTcpPort="0" or not exist at all will IFC use MSMQ.


New in 8.1.4.9

  • Added support for Micros Standard Interface (M27)


New in 8.1.4.10

  • Added support for C.I.S.A. Keycard System (CKS)

  • Fixed a problem in the date/time format for Prodac Wakeup calls


New in 8.1.4.11

  • Added support for NT Meridien (SLV) (C/I, C/O)


New in 8.1.4.12

  • Added support for Wakeup, Voicemail and Roomstatus to SLV

  • Fixed a problem in the Micros Multi-Hotel crossposting routine, when connected to IFC7.


New in 8.1.4.13

  • Fixed a problem in the M27 driver, where incoming names in capitals where not recognized

  • Fixed a problem in the CKS driver, where the BCC was not calculated


New in 8.1.4.14

  • Fixed a problem in M27, where Cash/Creditcard postings were misinterpreted as roomcharges and failed subsequently, as the inquiry information was missing.


New in 8.1.4.15

  • Fixed a problem in M27, where supplement configurations was hardcoded overwritten with the POS-UserID. Configuration can now be done using ISUP.


What's new in 8.1.5.x ?

As of 8.1.5.x IFC supports messagehandling.

As of 8.1.5.x IFC supports prefixhandling for Reservation IDs and MessageIDs..


New in 8.1.5.3

  • Added support for "Voicecon/Datacon" FIAS clone, FKT=FIAS_MC3

  • Added support for "Haefele Dialock" FIAS clone, FKT=FIAS_SPX

  • Added support for "Ogone EFT System" FIAS clone, FKT=FIAS_OGO


New in 8.1.5.4

  • Fixed a problem in IfcBusi.Dll where C/I was failing when several extensions were configured

  • Added support for Messerschmitt KSS (FKT=MST)

  • Added support for Kieback & Peter BMS (FKT-KPG)


New in 8.1.5.6

  • Added support for CIS Video system (FKT=CI2)

  • Added support for Timelox Key System (FKT-TLX)

  • Fixed a problem with trimming of incomming roomnumbers in SLV


New in 8.1.5.7

  • Added credit card functions to IFC8 and IfcBusi.Dll


New in 8.1.5.8

  • Added global license checking for FKT-Logos.

NOTE:

Form this version on you need to have your respective FKT_LOGO in WLIC. The actual license code is not yet checked. but the entry needs to be there and it needs to be set to active !!

  • Changed IDCO logic:

IFC will now search through IDCO for the respective record but read ALL fields. When you are e.g. splitting by Itemizer and Outlet then make sure no other field is filled. When you have e.g. SERV_TIME filled as well, even if you don't intend to use it, will IFC read this field and then ignore this record, as it does not match your configuration/search criteria.


New in 8.1.5.9

  • Fixed a problem in the FIAS_MFP parser, where posting would fails, when a certain combination of Itemizers was received

  • Fixed a problem in the FIAS_FEXCO parser, where Usage choice answer record were not returned to IFC7.


New in 8.1.5.10

  • Changed the logic of the KO field in all FIAS drivers, so that it will be trimmed after the last not-null value, as IFC7 does.


New in 8.1.5.11

  • Fixed a problem in KPG, where the screen came up with "Thorn Guestlink" as description

  • Fixed a problem in FIAS, where the Swap_flag was sent as "SFY" instead of "SF"

  • Fixed a prolem in GAS Bill view, where IFC sent the decimal separator

  • Added config to GAS, where one can now say if the DC or theDC-Description is sent in Billview records

  • Added a check for duplicate wakeups for incoming requests (in case a vendor replies with a wakeup-request to a request from the PMS.


New in 8.1.5.12

  • Added new FIAS clone: OCS

  • Fixed a problem in the DB-Swap routine, where no record was sent for checked-out rooms.


New in 8.1.6.0

  • Fixed a problem with Billview amounts in GAS


New in 8.1.6.1

  • Added new parser for "NSG - PBX Gateway" (NCC clone)

  • Added new FIAS Clone for TUT/SMS OCS (FIAS_OCS)


New in 8.1.6.2

  • Fixed a problem in the posting routine where Discounts could not be routed together to one DC

  • Added support for Honeywell BMS system (FKT=HON)

  • Added support for Alcatel 5200 PBX (FKT=A52)

  • Added support for SEL 5620 PBX (FKT=S20)

  • Added support for DeTeWe TVA GDX (FKT=DTW)


What's new in 8.1.7.x ?

1.

With 8.1.7.x we have changed the logic of IDRF wan will now allow other views but V8_IFC_RESERVATIONSEARCH to be used. First we have now added V8_IFC_POLYPOINT for an enhanced FIAS in Switzerland. Further views will follow.

Structure of IDRF has changed now, please make sure you run the update script. Existing entries will be converted accordingly.

2.

We now support the parameter "DEBUG" for the V8-DLLs, which interface loads.

To enable logging of the FidelioPostings.Dll add the attribute:

DbsDebugMode="Y"

to the PMS-object in Ifc8Config.Xml.

3.

Added error translation (IERR) for KeyAnswer records


New in 8.1.7.1

  • Added support for text messages in CI2 and PPC

Formatting is the same as in IFC7: At every CR will IFC end the record.

40 characters per line an maximum 10 lines per message.

  • Added new FIAS-Clone for "Polypoint POS" (FKT=FIAS_POL)

  • Fixed a problem in the routing of negative KeyAnswer events to the respective PMS workstations

  • Added definable Track2 definitions for Keycards for POS-identification (new setting of IDRV_TR2_NUM with definition in IDRF) (-> Value = 3 is not yet supported)


New in 8.1.7.2

  • DTW - Added support for record-ID "72" for wakeup handling

  • DTW - added record IDs 33 and 53 . These will be ignore as before, but now no error will be displayed.

  • Added new FIAS clone for "Aldina Pegasus POS", FKT: FIAS_PES


New in 8.1.7.3

  • Handling of DefRefx in FIAS has changed !!!!

    • Formerly "A0" translated to "DefRef0", "A1" translated to "DefRef1" etc. This has been changed as DefRef0 is internally used by the interface. With FIAS these are now :

    • "A0" translates to "DefRef1"

    • "A1" translates to "DefRef2"

    • "A2" translates to "DefRef3"

    • .....

    • "A9" translates to "DefRef10"

  • ICRD will be packed during Night Audit (not implemented from PMS yet) and when IFC is started with "+V" option

  • Adapted PostInquiry for the new Track2 Options

  • Added an error at startup when DefRef0 is defined in IDRF, as that is not allowed any more

  • Changed the default Wake-Retry from '3' to '0' ( in case IDRV_WAK_RETNUM is <blank>)


New in 8.1.7.4

  • Fixed a problem in TGL, where no RoomNumber was sent in INFO-records

  • Fixed a problem in the global C/I routine, where profile attributes from V8_IFC_RES_? where incorrectly interpreted in a sharer scenario.

  • Added CheckNumber to Guestcheckdetails Element from M87 (Needed to send the details to the PMS.)


New in 8.1.7.5

  • DTW - Added record types '85' and '87' as invalid incoming record to ignore them without errormessage

  • RC2 - Added record length check for records '31' and '32', as IFC was internally accumulating errors and was crashing after a while.

  • Added Char Conexion PMS "FIAS_CNX" as FIAS clone

  • Added CIE - Infoserv "FIAS_CIE" as FIAS clone


New in 8.1.7.6

  • M87 - Added support for Guestcheckdetail transfer


What's New in 8.1.8.x ?

  • Changed behavior of DB-Swap in FIAS: Should GuestOut-Schemao mot exists but GuestIn, will IFC default to RequestType="60" for database-swap requests. This had to be added to remove old records from IGST, which could not be purged due to the missing C/O events.

  • Added support for incoming records during a DB-Swap.

  • Added support for GuestCheckDetail Transfer with M87POS and checking the corresponding license now. (Supported as of V8 - 8.2.0.16)

  • Changed handling of "STAT" and "INFO" records for Spectradyne clones so that we can better handle the welcome-screen flag.


New in 8.1.8.1

  • Small changes in internal Schema handling

  • Fixes to ICRD handling (Parser independent)

  • Fixed a problem in KeyDelete routine, where Destination-ID was not properly processed

  • Fixed a problem in the event handling to the busi-dll (KeyAnswer)

  • Changed handling of FA Check-Ins, so that "DefRef-definitions" can now be read from the views

  • All Spectradyne: NameFormatting from now on via GuestFormattedName and NOT any more using DefRef1 !!!


New in 8.1.8.2

  • Added new parser for "ONITY / TESA HT 24" Key system (FKT=HT24)

  • Added new parser for "Otrum" Pay-TV system (FKT=OTR)

  • Added new parser for "Yaletronics" Key system (FKT=YAL)

  • GAS - fixed a problem with the name formatting

  • HON - added GuestDatachange Schema to support roommoves

  • TGL - Added configuration for Welcome Flag display Flag

  • Fixed a problem with DB-Swap when no CO-record is defined.

  • A52 - Added the missing "CR" after the "R" in the polling record

  • Added new parser for "Phillips Sopho" Telephone system (FKT=SOP)

  • Fixed a problem in internal RefNum handling during Database Swap

  • FIAS - Added a new attribute where configuration is possible to define, if empty fields should be sent or not

  • Added a new optional attribute: "XmlPackEmptyAttr". This can be used with FIAS drivers to configure if empty fields should be sent or not. In standard config and field where the value is not available in the PMS will not be sent.


New in 8.1.8.3

  • SOP - Fixed a problem in the off-set of 31-record (Roomstatus)

  • SOP - Changed bar/unbar flags as they were sent vice versa

  • Added new parser for "Active Voice/Repartee/NEAX Mail" (Centigram) FKT=AVC


What's new in 8.1.9.x ?

  • In 8.1.9.0 we added the possibility to round charges. A simple rounding tool was already within IFC8 which we rewrote to enhance the feature. Please run the update script, which will recreate IRND and update ICFG accordingly.

  • SOP - changed behaviour of sending "99"-record. IFC will now not stop sending the record any more when a "99" is received but will resend it every 60 second until an ACK to this record was received

  • Removed "TAB" as a choice for Monitor display. If "TAB" is configured in the Config.Xml will IFC interpret this as "CHR".

  • Fixed a problem in No-Post handling during DB-Swap


New in 8.1.9.1

  • Added new driver for CCC Credit Card system (FKT=CCC)

  • AVC - Fixed a problem within room-move feature

  • GAS - Fixed the Send/GuestBillBalance "Overflow Error"

  • Fixed a problem in the mainroutine, which disabled namechange commands.


New in 8.1.9.2

  • Fixed a problem in LA/LE logic, when a vendor system restarted while IFC8 kept running

  • Fixed a problem in the Read_IACT routine when a vendor system restarted while IFC8 kept running

  • AVC - changed offset in Language record

  • Busi-Dll - fixed a problem in GuestDatachange when RoomOldNum was not existing in the Schema


New in 8.1.9.3

  • HT24 - added support for Key-Answer record of new Tesa version 5.x and higher

  • Fixed a problem in the charge-rounding routine, where zero amounts where rounded to "-1.00"


New 8.1.9.4

  • Fixed a problem where POS-Inquiry routines where failing when IDRV_YRES_PRFX was <blank> instead of "0" (prefix handling disabled)

  • Removed language translation from Busi-Dll, as this should only be done in Ifc8.Exe

  • Added ChangeSchema event to the Busi-Logfile

  • IfcBusi.Dll: Added exception handling for invalid GuestShareFlag values in GuestDatachange, C/I and C/O

  • Changed internal schema handling in IFC8 to handle attributes, which are not within the parser's schemas

  • Changed Bill-View routines to use the new views: V8_IFC_GetBillItemYRES/ZFAC views (Make sure you have these views compiled !!)


New in 8.1.9.5

  • Fixed a problem in IDRF search routines

  • CCC - changed behaviour of forced remote authorizations

  • A44 - added option to reply w/up result as soon as we set a w/up call. This should avoid error messages in F/O because Alcatel is not returning the original w/up date/time


New in 8.1.9.6

  • GAS - Added new config, where WelcomeDisplayFlag can now be configured in a way, that IFC will only send it in the opriginal C/I record as "Y" and in all later records as "N". NOTE: This requires IDRF setting, see GAS-Docu.

  • CCC - Removed support for "TOYL" in authorizations. IFC will now ALWAYS send TOFL to force on-line authorizations. Authorizations via 3C's internal floorlimits are thus not possible any more.

  • M27 - Added logic that the parser requests room-posting payment methods from the Businesslogic. This was necessary to select CreditCard payments as non-roomposting, should Micros pass the credit card details too.

  • CCC - Added ClearText attribute for timeout responses.

  • CCC - Changed Dateseparator in settlement records drom "D" to "S"

  • Changed logic of ICRD handling to cater for key requests with multiple Keys

  • Fixed a problem in internal formatting routines, where negative signs beforte a numeric value were identified as decimal separator.

  • Enhanced logic of IERR handling (see IERR)


What's new in 8.1.10.x ?

  • TCP socket connections between IfcBusi and Ifc8 have been redone, as internal indexing was not always working as intended.

  • Various changes in internal XML-handling

  • Changed messeghandling for Reuqesting systems

  • Enhanced Messagesupport for GAS (and other spectradyne clones)


New in 8.1.10.1

  • Added attribute RoomNum to all KeyAnswer actions, so that the room number can be displayed in the PMS pop-up for negative replies.

  • Added driver for "DeTeWe 300/840 DAS 16K" (FKT=DAS)

  • Added driver for "VBP Viewinn Billing Peer" (FKT=FIAS_VBP)

  • Added support for IDCO selection for postings with PostType"M". Actual selection is done in V8 based on ZART, yet this was need to reflect Minibarpostings correctly in IHST for reporting.

  • Added new FIAS clone for "BCS - Bosch Telecom, Version 2.3" (FKT=FIAS_BC2)

  • DTW - Fixed a problem where incoming record were not trimming the blanks from extensions

  • DTW - Added "PostType" to PostAnswer records

  • HT24 - Fixed a problem where IFC run into an internal regression in a "RY" - error scenario.


New in 8.1.10.2

  • Fixed a problem in IfcBusi.Dll where "XML-Version 1.0" declaration was causing FidelioV8.Exe to crash

  • Removed support for the attribute Log="Y/N" in the config.Xml Logfile routine is now enabled/disabled through the attribute MonDetail="0/1/2/3/4", where MonDtail="0" disables the logfile and any other value enables the logfile.


What's new in 8.1.11.x ?

  • Added new driver for "TESA Inhova" key system (IHV)

  • Change config and behavior of ICFG_CMD_CHK. It is now possible to suppress the RoomEquipment record after the C/I record ('1') setting the flag to '2' will keep the current behavior

  • Added RoomNumber to all KeyAnswer schemas to have this value available for the PMS-PopUp

  • Fixed a problem in IfcBusi.Dll where "XML-Version 1.0" declaration was causing FidelioV8.Exe to crash

  • Removed support for the attribute Log="Y/N" in the config.Xml Logfile routine is now enabled/disabled through the attribute MonDetail="0/1/2/3/4", where MonDtail="0" disables the logfile and any other value enables the logfile.

  • Added support for DC-selection on article based Minibar postings (to avoid that unknown articles are marked as telephone calls in V8)

  • Fixed a problem where records where not properly purged from IGST in sharer scenarios

  • added parameter IDRV_FEATURES="NoDiffCheck"

  • Added new driver for "Bosch Telenorma Server" (TNS)

  • Modified GAS, OTT and TGL for Message support (New XML-Attributes !!!)

  • Added new Micros 3700 clone for "Inka POS" (INK)


What's new in 8.1.12.x ?

  • Added support for partial call accounting (PCA)

  • Added support for Full Call Accounting (CAS)

  • Finished driver for "Bosch Telenorma Server" (TNS)

  • Added driver for "Alcatel 4300M" (A43), former FKT was "AOP"

  • Added new FIAS clone for "CNA" (FKT=FIAS_CNA)

  • Added new FIAS clone for "HCS, VDA Elettronica Sas" (FKT=FIAS_HCS)

  • Added new FIAS clone for "Hotvisor, Micro Device S.r.l." (FKT=FIAS_HVR)

  • Added new FIAS clone for "GlobalView, GlobalLoop Ltd." (FKT=FIAS_GLV)

  • All posting drivers with Units: - changed charge record so that incoming units will at least be "0" and not <empty> in case no units are received

  • CSB - Changed PostType for Minibar-record from "C" to "M"

  • S20 - Changed PostType for Minibar-record from "C" to "M"

  • SOP - Changed PostType for Minibar-record from "C" to "M"

  • Fixed a problem in merging incoming BillView schemas (Item and Balance)

  • Added VIP chargeposting - you can now assign different charge schemas based on the VIP-status of a guest (first guest of a sharer, if no Reservationnumber is available). NOTE: This will only with systems that work based on units and not based on charges.

  • Modified IFC_RE_ROOM_x view so that sharers are not shown twice in the PMS submenu

Partial Call Accounting System:

With PCA a fixed charge may be assigned to any dialled number. (no limitation in the amount of dialled digits.)

Full Call Accounting System:

The functionality of CAS in IFC8 is rather straight forward:

An amount of units is calculated based on the duration of the call.

  • Amount of seconds per unit is configurable

  • Grace time can bet set as such but as well be deducted from the duration of the call

  • the same charge will be calculated 24-hours every day of the year

  • Filters are:

    • 0/NULL = do not calculate with CallAccounting

    • 1 = calculate with CallAccounting if TotalAmount=0

    • 2 = calculate with CallAccounting if Units(MeterPulse)=0

    • 3 = calculate with CallAccounting if TotalAmount=0 AND Units(MeterPulse)=0

    • 4 = calculate always with CallAccounting

Licensing:

It is NOT possible to use PCA and CAS at the same time. (And it does not make any sense).

Please make sure, that this is properly communicate to your sales force.


New in 8.1.12.1

  • Added new FIAS clone for "Tc POS, Tc Systems" (FKT=FIAS_TCP)

  • Added new FIAS clone for "Global Suite" (FKT=FIAS_GLO)

  • Added new functionality, where IFC will automatically rebuild all IFC-related views, when the value of ICFG_VERS is not equal the IFC-version you are currently starting. (Same as +V option)

  • Added new view V8_IFC_CARD, necessary for V8 to detect all currently active KeyCards.

  • Enhanced Simulation window for all parsers:

    • Added "Cancel" Button

    • Added support for "Ctrl-A" to select the complete contents of the window

    • Window size can be changed now

  • Version of IfcAction.Dll and IfcBusi.Dll are now written to the Logfile and are displayed on the bottom of the IFC screen

  • Fixed Operating System check routine to support Windows XP properly.

  • MST - Changed KeyDelete record, so that the RoomNumber is sent right-justified and not left-justified any more

  • Added a new parameter: IDRV_FEATURES="NoDiffPost". If this parameter is used, will IFC refuse all PostRequests, where a posting difference is detected with AnswerStatus "DM"

  • Fixed a problem where IDCO selection was not working properly, when Itemizers where received, but IDCO-selection by Itemizer was not choosen.


New in 8.1.12.2

  • Fixed a problem in internal XML-merging routine in a multiconnect scenario (Only pertaining to Fexco and MF-POS)

  • PPC - Changed billview records, so that now the posting date is sent instead of the system date

  • Added new driver for "NT-Meridien SL1 with Bytec Box" (FKT=SLB)


New in 8.1.12.3

  • Added new attribute: MonShowState="Y/N" for the IFC and PMS object. By adding this attribute and setting it to "Y" will IFC display the current status of the monitoring on the IFC-Form. (Current logfile length and time used to write to the log). This parameter is optional and only useful for debugging and supporting of performance issues.

  • Fixed a problem in the monitor and logfile routines, where using ASCII charset was causing high CPU usage

  • VC3 - Added automatic negative KeyAnswer in case VC3 does not respond at all to a KeyRequest

  • Added new parser for "Avaya Definity/Guestworks Nor/Trans" (FKT=ATD)

  • Added MonCharSet to the properties, so that they can be changed during runtime.

  • FIAS - Fixed a problem in the Schema-merge of GuestBillBalance, when several LinkRecords where received without an LE-situation in between the LRs.

  • Fixed a problem, where the "SAVE" button in the properties was not activated upon a change in the config during runtime.

  • DAS - Fixed a problem where the property windows could not be opened.


New in 8.1.12.4

  • Fixed a problem where IDRV_FEATURES was read incorrectly and subsequently the entries were ignored

  • Added functionality to read the version numbers from the V8-DLLs on the IFC machine and write these to the IFC logfile

  • Added functionality to read the EFT timeout from the V8 configuration. Note: this is not added to all parsers yet, so make sure you still have EFT_RequestTimeout="40" set in all Config.Xmls for EFT interfaces !!!


New in 8.1.12.5

8.1.12.5 was skipped, only built as BETA version.


New in 8.1.12.6

  • Added new driver for "Vingcard 2000" (VC2)

  • Changed unload behavior of IfcBusi.Dll (V8 does not leave enough CPU for the DLL to unload, thus a Dr. Watson was generated when V8 was shutdown via shortcut)

  • Added new FIAS clone for "IPC Advanced Hotel System" (FIAS_IPC)

  • FIAS - Changed format of TotalAmount in EFT records, so that always a decimal is sent (requires V8 minimum version 8.2.0.39)

  • Added the new global EFT request timeout handling for all EFT parsers. Config.XML supports now:

    • relative timeout handling e.g. EFT_RequestTimeOut="80%" in percent of FoEftTimeOut (received via LinkPmsConf record)

    • absolute timeout handling e.g. EFT_RequestTimeOut="40" in seconds

  • Added new driver for "MEN Video" (MEN)

  • AVC - fixed format of the language record

  • DTW - fixed format of C/O and GuestDatachange records


What's new in 8.1.13.x ?

  • 8.1.13.x is started at "8.1.13.1". (8.1.13.0 was not compiled)

  • Reviewed and partly rewrote Messagelight handling with existing Voicemail Interfaces

  • Version info of the PMS DLLs are now written to the logfile

  • EFT-Timeout can now be read directly from the PMS settings

  • ConfIRMS will now show the status during execution and will; display a message when all records have been successfully added to IRMS

  • Fixed a problem in V8_IFC_ROOM-view for sharer scenarios

  • Added GuestNum attribute handling in RoomEquipment action

  • Fixed a problem in the Parser Setup to Display Parameter in the correct PropertyBox

  • VC2 - Added KeyDelete before MakeKey to deactivate existing old keys. (Flagdriven, see Config.XML)

  • Finalized Message Handling and Voicemail Notification

  • DAS - fixed a problem in the RoomEquipmentSchema_O


New in 8.1.13.2

New in 8.1.13.3

  • Added new driver for "Ericsson MD 110 - Hotel " (M11)

  • Changed internal TCP behavior. IFC checks for reconnect requests on opened TCP Ports now, so that vendors can reconnect when a connection was interupted without a WinSock error on the IFC-PC. Prior to this change IFC had to be restarted before a reconnect could be established

  • Added few components to the properties of the IFC-objects, which were not visible before

  • Added new driver for "Alcatel 4100" (A41)


New in 8.1.13.4

  • Added new driver for "Alcatel 4200" (A42)

  • DAS - Added Guestdatachange schema, as without no roommove was sent from V8 to IFC8

  • YAL - Fixed a problem where the DepartureDate was always calculated with 2 days

  • YAL - Added an option where a default departure of "999" can be set. (See Config.Xml)

  • Added new FIAS clone for "PC Caddie" (FIAS_CAD)

  • Added detailed documentation to "M11".


New in 8.1.13.5

  • Added new driver for Quadriga Genesis (OTR)

  • Changed FKT for Otrum from "OTR" to "OTT"

  • VC2/VC3 - Added support for multiple keys in one KeyRequest from the PMS

  • FIAS - Changed format of "BI" and "BA" so that cents are now sent, when they are "0"-amount.

  • Added enhanced Video Right functionality to all Spectradyne clones (TGL, GAS, OTR, OTT, VIS) -> NOTE: This requires minimum V8 version: 8.2.99.39. (Enhanced Video Rights will not be added to V8 8.2.)

  • Added new attribute for FIAS drivers: BillViewMultiply . This attribute can be set with a numeric value (e.g. 0.1 or 100) which the IFC will use as multiplyer for BI and BA in billview records. (To scale large amounts, which main be too large for the TV-system.)


New in 8.1.13.6

  • MST - Fixed a problem, where IFC would stop with "Runtime error 5" when properties from the filemenue were selected for the Messerschmitt driver.

  • Roomstatus - fixed a problem, where roomstatus changes were ignored with "Extension not found in IRMS", when no corresponding record was found in IGST .

  • Enhanced available DefRef's in IfcAction.Dll to provide further enhancement possibilities in the M87-Enhanced Inquiry.

  • Fixed a problem where postings to extensions with type "H" or "B" where written to IHST regardless of the value in ICFG_ZERO_CRGE. IFC will now honor the settings for zero charges for all extension types.


What's new in 8.1.14.x ?

  • There are no bigger changes for 8.1.14.x. As we had to change the structure of IWKC (enhance fields, as they were too short) we upped the version number

  • Added new driver for "GEOSOFT / SATELCOM" (FKT=SAT)

  • Added new attribute for all VID drivers (not MEN, as they don't support BillView): BillViewMultiply . This attribute can be set with a numeric value (e.g. 0.1 or 100) which the IFC will use as multiplier for the amounts in billview records. (To scale large amounts, which main be too large for the TV-system to display.)

  • M87POS: Enhanced Micros enhanced inquiries Please update your Ifc8Config.Xmland IDRF-entries accordingly. See Micros Setup.


New in 8.1.14.1

  • Changed behavior of IFC when closed in minimized window. Clicking on the icon in the taskbar will now maximize the IFC again.

  • Added new property menu with tree structure

  • EFT-timeout - fixed a problem where IFC was failing with multiple requests at the same time

  • Added Requesttimeout to the linkdescription records, so that the value can be passed on to the separat objects (and can be retrieved from IFC7)

  • Busi-Dll - change shutdown behavior, when there are open TCP-connection upon shutdown request form V8

  • Added new command line parameter "+M". When adding this to the shortcut will IFC always run minimized. -> It is NOT recommended to use this in standard installations.

  • FIAS - Fixed BillViewMultiply, parameter was not read properly.

  • FIAS - Added an array for EFT-recordss, where IFC keeps WsNum for routing in case "WS" is not defined/used by the vendor.


New in 8.1.14.2

  • Fixed a problem in Reservation prefix handling (IDRV_YRES_PRFX)

  • Change behavior of IfcBusi when V8 is shutting down, as it sometimes lead to an exception violation error.


New in 8.1.14.3

  • Added a new Attribut-Alias to the supplement routine: "Formatted_Duration". This will write the duration as "HH:MM:SS" instead of "HHMMSS" to the supplement fields if used in ISUPP.

  • Fixed a problem in the "GetVersionNumbers" routine, where IFC was accessing the registry with functions, which were not allowed with minimal user rights, but required administrative rights.

  • Added additional checking for Cash & Credit Card postings: IFC will now deny a posting, if the target PayMaster (Financial Account) is not checked in.

  • Fixed a problem in IACC read-routines, where records where not accepted if IACC_IDCO_POST_TYPE was <blank>.

  • Added support for the existing field: IACC_SAL_OUTL, so that Financial Accounts for Cash & Credit Card postings can now be selected by Payment Method and/or Sales Outlet.

  • Modified error handling for POS postings to have consequent AnswerStati in case of missconfigurations.


New in 8.1.14.4

  • Added RequestType to M87POS to allow more detailed error descriptions in IERR

  • Modified function, which writes to ICRD for cases when XCMS_ID is not available.


New in 8.1.14.5

  • Removed logic which always wrote "CrossReference1" to the supplement field, if this attribute existed. "CrossReference1" needs to be configured in ISUP as any other attribute now.


New in 8.1.14.6

  • Modified IfcBusi.Dll for faster startup

  • FIAS - fixed a problem where T2-inquiries where not accepted if PI was missing in the PR record.

  • FIAS - enhanced logic to pass EFT-Timeouts between the various objects (incl. IFC7)

  • Database swap - added a default request type in case request type is not set.


New in 8.1.14.7

  • VC2 - added new config parameter:"VC2_Ignore_PMS_KeyDelete" to enable suppressing of KeyDelete commands

  • IfcBusi-Dll - Fixed a problem where the Dll would take a lot of CPU trying to reach the IFC when invalid computernames are in IMSQ

  • Added new parser for "Wolfram Linke P-Labor Pay-TV" (FKT=PLV)


New in 8.1.14.8

  • Fixed a problem, where writing to IHST failed when incoming extensions from a telephonsystem where alpahnumeric and not added to IRMS. IFC will write IHST_DEST_ID as "0" in this case from now on.

  • PLV - Add "SalesOutlet" to the charge records for DC-selection


New in 8.1.14.9

  • A52 - fixed a problem where IFC would not start any more after changes were done to the configuration menu of this driver.

  • DTW - fixed a problem where IFC would not start any more after changes were done to the configuration menu of this driver.


New in 8.1.14.10

  • Changed internal language code for Slawic from SW to SC (SW was duplicate with Swedish)

  • Added new FIAS clone for "Cloggs TMS" (FKT = FIAS_CLO)

  • Added new FIAS clone for "TAC - Reservation Assistant" (FKT = FIAS_TAC)

  • Smaller changes to IfcBusi.Dll & IfcAction.Dll in preparation for IFC version 8.2.x.x


New in 8.1.14.11

  • Further modifications in preparation for 8.2 in IfcAction.Dll (to keep DLL backward compatible.)


New in 8.1.14.12

  • FIAS - Fixed a problem, where IFC would not start, when the field "FS" was received in the LD record


New in 8.1.14.13

  • M87POS Added PostRoute to the PostRequest record. PostRoute is filled with the tendermedia number (=payment method) from the Micros. This allows for departmentcode selection by payment method as well now (in addition to the existing possibilities). See M87POS setup.

  • Postingroutine has been modified to parse incomming time values (e.g. 24:08:00 will now be correctly interpreted as 00:08:00) This change was done in IfcAction.Dll.


New in 8.1.14.14

  • ATD - Fixed a problem where COS stati were sent in wrong order.


New in 8.1.14.15

  • SCV/NCC changed layout of supplemental records (RoomEuqipment, Wakeup etc) so that unused positions 10-19 are now sent as "0000000000" (as per Siemens specification) and not as "0 ".

  • Further enhancements to IfcBusi.Dll and IfcAction.Dll in preparation for IFC 8.2.x.x (Version of the DLLs is now 8.1.14.95, which is fully compatible to IFC8 8.1.14.15)


New in 8.1.14.16

  • TNS - Fixed a problem in Wakeup-Result handling

  • TNS - Fixed a problem in the C/O record where the extension was always sent as "00000"

  • ATD - Fixed a problem in the BCC calculation


New in 8.1.14.17

  • Changed logfile behavior: IFC-Logfiles will now be written to the harddrive every 60 minutes (Default). Additionally you may add a new attribute to the Config.Xml under IFCx and PMSx: SavPeriod="60" where you can define the amount of minutes between every logfile-writing.

  • CCC - enhanced behavior in case of a timeout (And changed AnswerStatus from "RY" to "NR" in case of a timeout).

  • Further enhancements to IfcBusi.Dll and IfcAction.Dll in preparation for IFC 8.2.x.x (Version of the DLLs is now 8.1.14.96, which is fully compatible to IFC8 8.1.14.17)


New in 8.1.14.18

  • M27 - Fixed a problem where inquiries by ROOMNUM/NAME were incorrectly interpreted by IFC8

  • SIM - Added further creditcard types for typecheck in SIM-mode


IFC Tables - Update Script to 8.2.0.x

/* Update script for IFC8 Updates from 8.1.14.x to 8.2.0.x

*/

/* 1. modify ICFG table

*/

--adding the ICFG_FKT_LOGO field:

ALTER TABLE ICFG ADD (ICFG_FKT_LOGO VARCHAR2(20));

COMMENT ON COLUMN ICFG.ICFG_FKT_LOGO IS 'the last received/used FktLogo during IFC-Setup';

/* 2. modify ICTS table

*/

--adding the ICTS_LONGDESC field

ALTER TABLE ICTS ADD (ICTS_LONGDESC VARCHAR2(30));

/* 3. modify ICTT table

*/

--adding the ICTT_LONGDESC field

ALTER TABLE ICTT ADD (ICTT_LONGDESC VARCHAR2(30));

Commit;


Updating the Ifc8Config.Xml fro 8.1.x.x to 8.2.x.x

Updating the Ifc8Config.Xml from 8.1.x.x to 8.2.x.x

In order to support the new configuration utility within IFC8 we decided to reformat the Ifc8Config.Xml.

The new format looks a bit more complicated then the old one. However, as there will not be any necessity to modify the XML manually any more this should not disturb you during the installation.

To update an XML from an existing installation download Ifc82Update.exe from FTP.FCRUISE.COM (ftp.fcruise.com/IFC8/IFC8_Exe/Version_2/Config.XML_Update_to_8.2.x.x/...)

This screen will come up when starting the tool. (It is recommended to only install this tool on your laptop and not on every IFC-PC, as you only need it once per Hotel.)

Use the FILE-Menu to locate and open an exiting Config.Xml file.

At opening you may get a few errors, where the program identifies not supported attributes in the XML-file and offers to delete them. Generally you may delete all unnecessary attributes.

The conversion is finished after all errors have been acknowledged. Make sure that you save the converted XML now.


IFC Tables - Update Script to 8.2.1.x

There are no table changes. Version number was changed as internal database access components were changed..


IFC Tables - Update Script to 8.2.2.x

/* Update script for IFC8 Updates from 8.2.1.x to 8.2.2.x

*/

/* 1. Modify IRMS table

*/

--Dropping IRMS_VN_POOL as this will not be used for Virtual Number configuration any more

ALTER TABLE IRMS DROP ( IRMS_VN_POOL );

/* 2. Adding IPOL table for virtual number configuration. Linking of extensions to pools

*/

create sequence seq_IPOL increment by 1 start with 1000 nomaxvalue nocycle nocache noorder;

create table IPOL (

IPOL_ID NUMBER(30,0) not null,

IPOL_ICFG_ID NUMBER(30,0) not null,

IPOL_EXT_TYPE VARCHAR2(3) null,

IPOL_POOL_INFO VARCHAR2(64) null,

IPOL_LONGDESC VARCHAR2(30) null, constraint IPOL_PK primary key (IPOL_ID) using index

tablespace v8index ) tablespace v8main;

COMMENT ON COLUMN IPOL.IPOL_POOL_INFO IS 'supported Pool-Ids for this extension type (use "|" as separator)';

/* 3. Modifying the ICFG_CMD_CHK field for new handling

*/ Changing ICFG_CMD_CHK=2 to ICFG_CMD_CHK=3 (Cmd.Yes + Cmd.REOnChkIO)

UPDATE ICFG SET ICFG_CMD_CHK=3 WHERE ICFG_CMD_CHK=2;

COMMENT ON COLUMN ICFG.ICFG_CMD_CHK IS ' send Check-IN/OUT commands

4 = send new NameDisplay upon sharer GuestOut via GuestdataChange

2 = send RoomEquipment

1 = send GuestIn/Out

0 = false';

Commit;


IFC Tables - Update Script to 8.2.3.x

/* 1. Modification of IDRV to support the enhanced TRACK2-definition feature

*/

--modifying the IDRV_TR2_NUM field

UPDATE IDRV SET IDRV_TR2_NUM = 4 WHERE IDRV_TR2_NUM=3;

ALTER TABLE IDRV MODIFY (IDRV_TR2_NUM NUMBER(10,0));

COMMENT ON COLUMN IDRV.IDRV_TR2_NUM IS ' Track2 type definition:

0 = Track2-function diabled

1 = Track2 PMS-Standard format (HotelId[1]/RoomNum[7]/ResNum[8])

2 = Track2 user definable format (IDRF)

4 = get Track2 info from vendor (IDRF & ICRD)';

Commit;


IFC Tables - Update Script to 8.2.4.x

/* 1. modify IDRV table

*/

--modify the IDRV_FEATURES field

ALTER TABLE IDRV MODIFY (IDRV_FEATURES VARCHAR2(256));

comment on column IDRV.IDRV_FEATURES is ' special Driver features:

"TaxEx"=Posting with TaxExclude

"NoDiffCheck"=DifferenceCheck for Posting disabled (no Autobalance)

"NoDiffPost"=deny Posting with difference (not with "NoDiffCheck")

"PosPagePl"=continue the PostListItems once "MaximumGuestsNum" was reached.';

Commit;


IFC Tables - Update Script to 8.2.5.x

/* Update script for IFC8 Updates from 8.2.4.x to 8.2.5.x

*/

/* 1. modify ILAN table

*/

--modify the ILAN_IFC field to fill with ISO-Codes

UPDATE ILAN SET ILAN_IFC='HR' WHERE ILAN_IFC='CR';

UPDATE ILAN SET ILAN_IFC='CA' WHERE ILAN_IFC='CT';

UPDATE ILAN SET ILAN_IFC='CS' WHERE ILAN_IFC='CZ';

UPDATE ILAN SET ILAN_IFC='DA' WHERE ILAN_IFC='DK';

UPDATE ILAN SET ILAN_IFC='EN' WHERE ILAN_IFC='EA';

UPDATE ILAN SET ILAN_IFC='EN' WHERE ILAN_IFC='GB';

UPDATE ILAN SET ILAN_IFC='FI' WHERE ILAN_IFC='FN';

UPDATE ILAN SET ILAN_IFC='DE' WHERE ILAN_IFC='GE';

UPDATE ILAN SET ILAN_IFC='EL' WHERE ILAN_IFC='GR';

UPDATE ILAN SET ILAN_IFC='NO' WHERE ILAN_IFC='NR';

UPDATE ILAN SET ILAN_IFC='PT' WHERE ILAN_IFC='PO';

UPDATE ILAN SET ILAN_IFC='ID' WHERE ILAN_IFC='RI';

UPDATE ILAN SET ILAN_IFC='RU' WHERE ILAN_IFC='RL';

UPDATE ILAN SET ILAN_IFC='RU' WHERE ILAN_IFC='RS';

UPDATE ILAN SET ILAN_IFC='SK' WHERE ILAN_IFC='SC';

UPDATE ILAN SET ILAN_IFC='ES' WHERE ILAN_IFC='SP';

UPDATE ILAN SET ILAN_IFC='SV' WHERE ILAN_IFC='SW';

Commit;


What's new in 8.2.0.0 ?

What's new in 8.2.0.1 ?

  • With version 2 of IFC8 we have rewritten the configuration part which is included to IFC8.Exe. This included a reformatted Config.Xml. We are providing an Update Exe to convert existing XMLs to the new format. Please contact your regional Interface Product Manager for details.

  • With 8.2.x.x we introduce a database configuration utility, which is directly integrated to IFC8.Exe. Please check the respective folder in this expert help and make sure you get yourself acquainted with the new tool before using it on site.

  • Various smaller changes have been done to IfcAction.Dll and IfcBusi.Dll to support the new XML-handling

  • Config.Xmls in the new format have been added to all respective interfaces. However: The known tooltips have not been added again, as they as available as screen tooltips within IFC8.Exe now. For reference please check the elder Config.Xml for IFC8.1.x.x, where the tips are still available in this documentation.

  • Added a module where errors can automatically sent to support via E-Mail for fast action (e.g. problems with an EFT module). NOTE: this module requires an SMTP account which IFC could use.

  • Changed behavior of IFC with credit card drivers to allow more then one V8 session started on one PC and still transport the answers to the correct V8 session.

NOTE: As of IFC8 version 8.2.0.1 it is not any longer necessary to modify the IFC8Config.xml manually. The complete configuration, adding/deleting of attributes as well as all necessary tooltips have been added to IFC8 now. In addition it is now possible to start IFC8 completely without Config.Xml and let IFC8 create the config-file for you with all respective attributes (depending on the chosen FKT-Logo). As well most of the database configuration can be directly done through IFC8. As of 8.2.0.1 the following tables can be configured through IFC8:

      • ILAN

      • ICFG

      • IDRV

      • IDCO

      • ICTT/ICTS (incl. call-accounting)

      • ISUP

      • IERR

Generic changes:

  • Removed "TC-POS" FIAS clone (FIAS_TCP)

  • Added new M27-Clone for "TC-POS" (M27_TCP)

  • Added new driver for "Siemens Hicom 300 / Orion" (HC3)

  • Added new driver for "Guest Star by C.I.S." (FIAS_CI3)

  • Added new driver for "Tadiran Coral CAP" (COR)

  • Added new driver for "IVISTAR" (XML_IVI)

  • Added new driver for "SAFELOCK System 5000/6000" (SLK)

NOTE:

Not all Config.Xml examples in this expert help have been merged to Version 8.2.x.x structure yet. Please use the conversion exe available on the FTP server to update your exsiting XMLs and to convert new ones from this expert help. After conversion do NOT change any values manually any more but configure them via IFC8.


New in 8.2.0.2

  • Fixed minor problems in DBS-Config


New in 8.2.0.3

  • FIAS_PES - Minor fixes in Filetransfer handling

  • Added configuration for IDRF

  • M87POS - Added parameter for request types

  • Added new FIAS clone for "NAC - 1000 / nicetec GmbH" (FIAS_NA1)

  • Added new FIAS clone for "BIZ-COMM, Ultra Serv" (FIAS_BIZ)

  • Added new FIAS clone: "HAMS - Salto Hotel Access Manager" (FIAS_HAM)

  • Added new FIAS clone: "USG, Nomadix, FIAS Option" (FIAS_USG)

  • Fixed a problem in department code selection by dialled number

  • SLV - Added support for DB-Swap

  • TNS - Added support for DB-Swap

  • Changed behavior of IFC8 when special characters were found in the Config.Xml (special characters will now be read properly for e.g. M87POS)

  • Fixed a problem, where configuration of FIAS clones was not possible


New in 8.2.0.4

  • POS I/F to "PC Caddie": Changed FKT from 'FIAS_CAD' to 'FIAS_PstInqOff_CAD', as CAD sends "PostRequest" without "PostInquiry"

  • Smaller fixes in the handling of the Oracle connection in the configuration forms

  • Added new FIAS clone for "Adel - Lock Management System" (FIAS_ADE)

  • Added new FIAS clone for "Selta SAE 3000 Family" (FIAS_S3F)

  • Added new FIAS clone for "Bella Vita Spa System" (FIAS_BVS)

  • M87POS - Changed order of configuration parameters to make configurations easier and more logic

  • Ifc8.2-Update: Changed default parameter for XmlPackEmptyAttr for "N" to "Y"

  • SLB - Removed "Error received Sync" from logfile, during normal idle routines

  • Added new FIAS clone for "Micro Master" (FIAS_MIM)


What's new in 8.2.1.0 ?

  • Usage of ODBC to connect to oracle from the configuration utility was discontinued and replace with OLE-drivers (Oracle native).

    • New file: OraDc.Ocx, which will be installed to C:\Fidelio\IFC8

  • CCC - changed default for CCC_SendTimeRecord to 'N'

  • CCC - Fixed a problem where deadlocks could happen in certain multi-thread scenarios.

  • M27 - changed default for M27_RoomPaymethod to '0'

  • M11 - Added DB-Swap

  • Fixed a problem with XON/XOF handling in Layer2="LLC_FDX" (Full Duplex, e.g. used by FIAS)

    • Note: Characters for <XON/XOF> are: <XON>=<HEX11>, <XOF>=<HEX13>, timeout is configurable

  • M87POS - Fixed a problem where IFC would keep to many old transactions in the memory and would subsequently run into overflow errors

  • Fixed a problem, where Voicemail Notifications were not processed when the schema did not include GuestNum

  • FIAS - Fixed a problem where Post-Requests were not processed, when Date and Time attributes were missing.


New in 8.2.1.1

New in 8.2.1.2

  • Added SequenceNum to all EFT-related actions, regardless if they exist in the vendor schema or not.

  • IDCO-Config: Fixed a problem, where copying a Servingperiod would not copy all Salesitemizers.

  • M87POS - Fixed a problem in the Checksumcalculation for records longer then 32000 characters.


New in 8.2.1.3

  • M11 - Fixed a problem in Roomstatushandling through second port (Ifc7Wrapper)

  • M87POS - Enhance possible itemizers to 57 to prepare for the new enhanced IFC to 9700

  • Added RoomAssignement Action to IFC8.Exe and the DLLs to prepare for DID.


New in 8.2.1.4

  • Fixed a problem in voicemail handling, which failed when the incoming record did not contain a reservation number

  • Added new parser for "Gfeller GFX 1" (FKT=GFX)

  • Changed default for Xml and Fias 'EFT_RequestTimeout' from 80% to 30sec

  • Added new FIAS clone for "NIMIF, Landis & Staefa" (FKT=FIAS_NIM)

  • Changed tooltips for Layer2=FDX -> XON/XOFF to reflect the correct values

  • HT24 - Added support for One-Shot-Keys

  • DTW - Fixed a problem in handling of the receive buffer


What's new in 8.2.2.0 ?

  • Various changes in IfcBusi.Dll for better handling of sharer scenarios

  • Further changes to IfcBusi.Dll to prepare for Virtual Number Handling

  • Added WsNum to GuestIn/GuestdataChange/GuestOut actions

  • Changed handling and configuration of ICFG_CMD_CHK

  • Database: Enhanced rollback behavior on error scenarios

  • FIAS - Added G+ (GuestNumber) and EP (EquipmentPoolId) for future use

  • All guestbased drivers: adapted GuestShareFlag handling to modified IfcBusi.Dll

  • Added another option in the configuration, where In-Line Schemas can be read directly from IFC8-Logfile for simulation mode.

  • SIM - Fixed a problem where timeout handling with wakeups were producing an unsuccessful event regardless if a WakeupAnswer was received

  • PMS-Object - enhanced sharer handling for new IfcBusi.Dll

  • DB-Swap - fixed a problem where GuestLanguages were translated twice

  • Added logic for sharer handling in KeyDelete action

  • Added table IPOL for DID configuration (DID as such is NOT available yet)

  • Added new FIAS driver for "EuCaSoft - POS" (FKT=FIAS_EUC)

NOTE:

The configuration of the C/I-C/O in ICFG_CMD_CHK has changed !!!

Current configurations may need to be changed when updating. The value "2" used to intiate GuestIn and Roomequipment.

As of 8.2.2.0 will 2 be interpreted as "Second Bit" and would only send RoomEquipment. (See ICFG configuration)

The field will be updated in the update script. Please verify that the new settings are correct.


New in 8.2.2.1

  • Fixed a problem in FIAS_PostInqOff_xxx drivers in internal array handling for doubleposting checks

  • Added new FIAS clone for "InOut TV Hotel" (FIAS_IOU)

  • Changed internal handling of RoomEquipment and GuestdataChange schemas for all drivers


New in 8.2.2.2

  • IfcBusi.Dll - Fixed a problem where RoomMove commands were not executed under certain configuration and schema combinations.

  • IfcBusi.Dll -Fixed a problem where a WakeupDelete action would result in all wakeups from an extension being deleted.

  • Added additional internal "AnswerStati" in IfcAction.Dll and adapted IFC8 accordingly.


New in 8.2.2.3

  • SLB - Fixed a problem in Receivebuffer handling

  • SLB - Added support for DB-Swap

  • A44 - Added support for DB-Swap


New in 8.2.2.4

  • DTW - added support for DB-Swap

  • DTW - added GuestLanguage attribute to GuestIn schema

  • M37 - Fixed a problem in the TCP-Alive record (Ping)


New in 8.2.2.5

  • IfcAction.Dll - Added Attributes and actions for DCC support (Currently only SIM for IFC7)

  • IfcBusi.Dll - Removed errormessage in Busi-Log during 'GetRoomAsgmInfo' function

  • Fixed a problem where IFC8 would not always automatically reconnect upon loosing the Oracle connection

  • FIAS - Added records and fields for DCC and Installments

  • Changed default Oracle-User definition when starting without Config.Xml to: V8LIVE/LIVE@V8

  • Fixed a problem in ICRD-packing routine

  • Added Sim-functions for DCC

  • Fixed smaller issues in the config-module

  • Enhanced postingroutine for PostSimple by Virtual Number (DID is NOT finished yet!)

  • Added new FIAS clone for "MAFIS POS" (FKT=FIAS_PstInqOff_MAFIS)


New in 8.2.2.6

  • Added posting routines for posting by Virtual Number (Note: DID module is NOT ready yet!)

  • Changed the method how Oracle connection is passed from V8 to IfcBusi.Dll to speed up loading of IfcBusi.Dll (This new feature is version dependent. This will be supported as of version 8.4.0.9 of V8)

  • Changed Oracle Connection handling in IFC8 (a IFC8 passes the same connect to IfcBusi.Dll when crosscomunicating between interfacs)

  • Added off-line modus to IfcBusi: Busi-Dll can be configured now to write all actions to IACT and not connect to IFC8. This can be usedfull when testing on a Hotel-DB without starting all respective Interfaces. This is for DEMO mode ONLY. Activation is done by manually filling IMSQ->IMSQ_MQ_NAME with "IACT" instead of the interface's IP (or computername).

  • Further enhancements for DID handling (Note: DID module is NOT ready yet!)


New in 8.2.2.7

  • Fixed a problem where IFC was not creating the V8_IFC_ROOM view properly

NOTE: This problem was completely disabling DB-Swap for all drivers !

  • Added not attribute to the global protocol layer: "ReInit_On_ExpEnq" This is filled with the respective default values by IFC and should not be touched. This attribute was added with new functionality where IFC can now keep the last known record whichn it tried to send when a send timeout occurs (=when the vendor is not responding)

  • Fixed a problem where existing logfiles where loaded twice upon startup under certain circumstances


8.2.2.8 was scipped

Type topic text here.


New in 8.2.2.9

  • Fixed a problem in the configuration tool, where IFC failed when inserting default records to IDCO with Posting interfaces

  • Added check for the installed Oracle-OLE drivers, as these are mandatory for the IFC-setup to function and there are not installed by default with Oracle9-Client. The following Error will come up when OLE was not properly installed/registered on the IFC-PC:

  • Added new FIAS clone for "Siemens - IBS-PX-FIDPOS" (FKT=FIAS_SIP)

  • Added new driver for "Tiger Comms / Tiger 2000" (FKT = TIG)

  • Added new driver for "Systems Reliability Status" (FKT = SRL) (= ex-IFC7-FKT was "CAR")

  • Added new functionality where IFC8 can now return a record back to IACT in case the connection to a vendor is lost while sending this record

  • Fixed a problem where incoming Wakeup-Clear commands were not written to IWKC properly


New in 8.2.2.10

  • RC2 - Fixed a problem in the inquiry routine were inquiries by name did not work


New in 8.2.2.11

  • Added new FKT-Logo for PMS-object with FKT="OPERA". This will be used in the future when connecting IFC8 to OPERA.

  • Added startup option "-I". Setting this completely disables the DLL-version check upon startup. It is recommended to NOT use this option but to install the valid OLE drivers instead.


What's new in 8.2.3.0 ?

  • FIAS - Fixed a problem in internal schema-generation when DID-attributes exist

  • Added more logic to the TRACK2-definition for POS systems. the minimum length of a track2 is now configurable. (= the amount of digits which IFC will see as separator between a room-number inquiry and a track2 inquiry)

  • Fixed smaller issues in the configuration tool

  • Added new driver "UNI-Driver" - NOTE: Check with you reginal Interface Product manager about availability of the UNI for testing. UNI is NOT yet available for installation.

  • Enhanced handling of TCP-Ports during Interface configuration to avoid problems where the same port is used several times as default-port.

  • SCV - Removed hardcoded "LASTNAME" for the C/O record. C/O record will use GuestFormattedName now (NOTE: This is SCV only and not NCC !!)

  • TLX - Fixed a problem where the validity of a key was incorrectly calculated.


New in 8.2.3.1

  • MST - fixed a problem in handling KeyAnswer records in a multithread environment

  • MST - Added new Configparameter "KeyCommandTimeout" where the timeout for KeyAnswer records can now be configured. (Default is 5000 ms)

  • Fixed a display problem in the 'config-dropdownbox' for Track2-configuration

  • Layer2: Half-Duplex - changed handling of "EOT" to suppress errormessages


What's new in 8.2.4.0 ?

  • DRV - added a new config value for IDRV_FEATURES: "PosPagePl". Setting this flag will cause the interface to continue with a postlist once the MaximumGuestNumber was reached.

  • FIAS - changed the default MaximumGuestNum from "1" to "3" if MX is not sent/defined in PostRequest.

  • OPERA - Added IfcNum to LinkDescription Records

  • Moved LinkPmsConf record to be sent before LinkAlive records

  • Modified license check to support IFC-licenses in V8 as of version 8.5

  • NOTE: As of V8=8.5 you need valid license codes for FKT-Logos and IFC funtionality elements !!!

  • NOTE: Wrapper installations need to be changed to use the respective UNI-driver in IFC8 as of 8.2.4.0. Check with your regional IFC product manager in time !!

  • FIAS - Added support for print-fields and cryptogram in Chip&PIN records.

  • CONFIGURATION - fixed a problem in ICTT config where the price column was not displayed.

  • All Vide drivers: Renamed BillViewMultiply --> ChargeOutMultiply as this parameter applies to all outgoing charge fields (e.g. CreditLimit)

  • Added new UNI-Driver for "Alcatel 42xx" (UNI_A4X)

  • Added new driver for "Ascotel BCS 64" (ABC)

  • Added new FIAS-Clone for "CIS Companion System" (FIAS_CCS)

  • Added new FIAS-Clone for "GLT - Perseo" (FIAS_GLT)

  • Added new FIAS-Clone for "VV Hotel" (FIAS_VVH)

  • Changed default LogfileLength to 1,5 MB

  • SCV - Added parameters and logic for DID handling

  • M87POS - Removed unused items from the Config.Xml (e.g. useNoPost)

  • M87POS - Added support for CreditLimitOverwrite

  • Added support for CreditLimitChecking with POS interfaces

  • First Modifications for Cross-Posting Module

  • Optimized PostInquiry routines for better performance

  • SIM - Added later Chip&PIN fields and functions


New in 8.2.4.1

  • All drivers - Fixed a small issue in the posting routine when the first incoming posting was not a room-posting

  • SCV - DID: added support for incoming records with DID number instead of extension


New in 8.2.4.2

  • OPERA - Added attribute ProcessId to LinkDescription

  • Changed delimiter in IDRV_FEATURES from "," to "|" (yet IFC can still read the "," to stay backward compatible)

  • Changed behavior when starting multiple IFC-Objects with FIAS, where "LC" is supported

  • Optimized IFC-startup routines for faster start of the application and faster refresh during configuration

  • Fixed a reconnect problem if the IFC-object is set to Required = "N"

  • Fixed a problem where the calculation of the reminding creditlimit was working incorrectly


New in 8.2.4.3

  • Added functionality to Re-Init and shutdown IFC8 from the PMS (for OPERA)

  • FIAS_CPA - Added new Memebershiptransfer handling for CPS-System

  • Added new FIAS Clone for "SAMwin.CAS" FKT=FIAS_SWC

  • Added new FIAS Clone for "IPT - Fidelio Interface" FKT=FIAS_IPT

  • ATD - changed default Coverage-Path to "00?0"

  • Added an option in Track2-handling to fill ICRD in case a key system does not support Track2

  • Changed monitor behavior so that the font is not changed in the middle of a logfile any more

  • Corrected a problem in KeyRequest-sharerhandling when GuestNum was not part of the schema


New in 8.2.4.4

  • Added various new drivers based on FIAS, UNI and M27

  • A44 - Added parameter to suppress Night-Audit Commands to the PBX

  • M87POS - Enhanced defaults in Config.Xml in the inquiry section

  • Changed the FKT-Logo for "Active Voice" from AVC to CTG_AVC

  • Removed License-check for FKT-Logo "SIM"

  • Fixed a problem in Creditlimitcheck with attribute was in PostListSchema but functionality was not enabled

  • Added new parser for "Vingcard Vision TCP" (FKT=VCT)

  • Added new parser for "Squirrel POS" (FKT=SQL)

  • GAS/TGL - Fixed a problem in sequence-number counting during bill-view

  • M87POS/M27 - Added support for creditlimit-overwrite by paymentmethod

  • SLB - Fixed a problem in conversion of special characters in guestnames

  • UNI - Added parameter to configure position and length of unit-count for Minibarpostings


New in 8.2.4.5

  • IfcBusi - Smaller modifications to RoomMove handling with Sharers
  • Added new driver for "Hitachi HD/HCX 5000" (FKT=HCX)
  • ATD - Fixed a problem with Guestname formatting in GuestIn record
  • CTG / CTG_AVC - Added support for Namechange record
  • M37/M87POS - IFC can now process '.' (comma) or '.' (dot) as decimal separator in incoming posting strings
  • MST - Added KeyAnswer records for KeyDelete actions
  • PPC/PLV - Fixed a problem in CR/LF translation in message texts

  • UNI - Added parameter to define epilog length (variable dialed digit field at record end)

  • Various changes in the config for DID


New in 8.2.4.6

  • Fixed a global problem in license-check for Messagehandling (was created in 8.2.4.5)

  • M87POS - Added functionality to replace an enhanced Inquiry (guest or reservation details) with billview

  • M87POS - Added intermediate error replies for message and locator requests until this functionality has been added to IFC8


New in 8.2.4.7

  • M87POS - Smaller formatting changes for the bill-view feature

  • Configuration - added IDLR configuration. Note: This requires the view V8_IFC_XPDA !!

The view is part of the current "AllViews.Sql" distributed with your V8 versions.


New in 8.2.4.8

  • Added various drivers based on UNI , FIAS , M27, CTG and others

  • Changed FKT-Logo for Ottrum from "OTT" to "TGL_OTT"

  • Changed FKT-Logo for Quadriga Genesis from "OTR" to "TGL_OTR"

  • Changed FKT-Logo for Visual Media Services from "VIS" to "GAS_VIS"

  • Added various new Spectradyne Drivers (Please check list of VSS-Interfaces)

  • Added new driver for "Impact Concierge by Comdial" (HCX_IMC)

  • Added new driver for "Percipia Transient Communications" (ATD_PCP)

  • Added new driver for "Phone Suite" (M2K_PST)

  • Added new driver for "Triax Personal Operator" (M2K_TRX)

  • Added new driver for "TELRAD Iris" (SLV_TIR)

  • Added new driver for "Merchant Retail Management System" (SQL_MRM)

  • Added new driver for "Silverware POS" (SQL_SIL)

  • Added new IRMS configuration utility. IFC8 can now import Financial accounts too and do duplicate checking plus various smaller new utilities for the IRMS configuration

  • Removed current IRMS configuration tool

  • SCV - smaller enhancements for DID-configuration

  • Fixed smaller issues in UNI-configuration when starting with an empty Ifc8Config.Xml

  • Changed V8_IFC_IHST view so that in V8 under "Interface Posting History" postings from checked-out financial accounts are visible

  • Spectradyne: Fixed a problem where the TV-Rights were set to "0" for sharing guests during Check-In.


New in 8.2.4.9

  • All Key-Interfaces: Fixed a problem where ICRD was not properly updated any more (introduced in 8.2.4.8)

  • IRMS-Setup: Fixed a problem where IFC would run into an oracle-error when a user tried to sort the record in the duplicate-check form


New in 8.2.4.10

  • Changed definition of hardware requirements of IFC8 to 40 MB Ram per installed IFC.

This was necessary as larger installations with heavy traffic have shown that newer versions of IFC8 need more memory for postlist-item checking, double-posting ckecks etc. IFC will write quite intensive amounts of data into it's memory during runtime for better performance to avoid additional database queries.

  • VCT - data-field in Make-Key command was one byte to short

  • M27 - Fixed a problem where Cash/Creditcard postings where failing in the PMS object

  • Added configuration of IRND to the Config-Tool

  • DTW - Added functionality to ignore charge postings with invalid extensions, but still answer with ACK record

  • GAS - Corrected simulation records

  • TGL & LDG - fixed a problem with negative amounts in bill display (minus sign was visible)

  • SLB - Added support for start/end record for charges ("E" and "S" records)

  • Added "RequestType-Calculator" to the simulation records (very useful to find the corret value for a RequestType in a specific scenarion/action)

  • TCP-Server - fixed a problem where only the second reconnect request from a vendor-system would be accepted.

  • Enhanced WakeUp-result routines when locating wakeup records in IWKC (if Date not set then set Date to the next possible day.)

  • Changed default for IDRV_IHST from '60 to '90' days

  • OCV - Added parameter for Extended C/I record

  • Added new driver for "Cablecom" (FKT=CBC)

  • "Hotel Name" is written to the PMS-Obect logfile now

  • Added new FIAS clone for "Deuromedia DIPbox" (FKT = FIAS_DER)

  • Added new FIAS clone for "Cipherium" (FKT = FIAS_CIP)

  • Added new FIAS clone for "Innove Broadband Internet Zone" (FKT=FIAS_IBI)

  • Added new FIAS clone for "Golf Gopher -SPS Golf Management Systems" (FKT=GOG)

  • Added new FIAS clone for "Pronto Hotspot OSS" (FKT = FIAS_PHS)

  • Added new FIAS clone for "Super Premier VOD System" (FKT = FIAS_SUP)

  • Added new FIAS clone for "KAREL - DS200 Series" (FKT = FIAS_KD2)

  • Added new FIAS clone for "NX Strl1000 - NUX System" (FKT=FIAS_N1N)


New in 8.2.4.11

  • Added an option in IDRV_FEATURES where the transfer of GuestcheckDetails can be disabled

  • M87POS - Fixed a problem where IFC would return the wrong sequence number to Micros under certain circumstances

  • DTW - Fixed problem where Minibar-article number was read on wrong position from the record

  • M87POS - increased the text field for messages in negative replies to 29 chars

  • Added new FIAS clone for "CASIMIR POS Soko's Hotels" (FIAS_CSH)

  • Added new FIAS clone for "Citrix Application Gateway (AG)" (FIAS_NAG)

  • Added new FIAS clone for "Omnitech Energy Manager" (FIAS_OEM)

  • Added new FIAS clone for "Lekcom Interface System" (FIAS_LEK)

  • Added new M27 clone for "S.A.M. by Milano" (M27_SMM)


New in 8.2.4.12

  • Added new driver for MBS I/F "Bartech Systems" (HXQ)

  • Added new driver for TMS I/F "Alcatel Omni PCX Office" (AOM) - Not tested yet !!!

  • UNI-drivers: Fixed a problem where IFC would ignore the value "-1" in UNI_StartCharacter ="-1" and UNI_StopCharacter ="-1"

  • SLV - Added option to configure the length of the name-field in the C/I record. NOTE: This needs to be adjusted during updates ! Current hardcoded value was 23 characters for the namefield !!!

  • SLV - Fixed a problem in room move, C/O was sent to new room instead of old room

  • A44 - Extension is now sent right-justified in outgoing records instead of left-justified. (No impact on most Alcatel systems.)

  • M27 - Added option where it can be configured to use IRMS translation for incoming inquiries

  • Added option to disable automatic saving of Logfiles (SavPeriod="-1")

  • Added new M27 clone for "1C-Rarus Restaurant" (M27_1CR)


New in 8.2.4.13

  • SLB - Added option to configure the length of the name-field in the C/I record. NOTE: This needs to be adjusted during updates ! Current hardcoded value was 23 characters for the namefield !!!

  • SLB - Fixed a problem in room move, C/O was sent to new room instead of old room

  • Modified Logfile Routines - saving and autosave of the logs took much to long.

  • Enhanced entries to the log when the logfiles are saved

  • Added new FIAS clone for "Shine Interactive TV Service System" (FIAS_SHT)

  • Added new SPD clone for "LodgeView PMS Interface" (TGL_LOV)

  • M87POS - further modifications on internal queue handling - done to enhance performance under conditions with very high traffic

  • Changed default LogLength to 2 MB

  • Changed maximum LogLength to 20 MB

  • Added new driver for "NEC 2400 SDS" (N2S)


New in 8.2.4.14

  • Enhanced command line parameter "-I" -> Starting IFC8 with "-I" will now suppress ALL error messages (including missing configuration attributes.) Missing attributes will be added and be filled with default values.

  • Fixed a few smaller issues in the configuration:

    • Extensions can now be overwritten in the IRMS-duplicate check

    • IDRV_POST_TYPE can be added in various orders now

    • Supplementconfiguration: Configuration of empty supplement fields is now possible

  • M27 - added option to send name in uppercase

  • M87POS - added option to add revenue center to check number before passing on to the PMS

  • Fixed smaller items in the OPERA connection object

  • VC3 - Added default RoomTypes/Usergroups for the configuration

  • Added new FIAS driver for "VHOTID, Telefonica" (FIAS_VHO)

  • Added new FIAS driver for "IFTV" (FIAS_IFT)


New in 8.2.4.15

  • Smaller fixes in the configuration tool:

    • Default records for ICTT were added multiple times when no ICTS record existed

    • YRM/ZFAC import failed when description of the room was longer then 20 characters in V8

    • Extensions could not be overwritten in the IRMS-duplicate-check

    • Enhanced IFC logic to check for duplicate MsqTcpPort configuration

    • Fixed the limitation of maximum 7 IFC-objects when cloning through the configuration tool

  • GFX - Removed leading blanks from extensions when reading incoming records

  • Added new driver for "NEC 2400 60/90/120" (N24)

  • Added new FIAS driver for "Connected Retailer by NSB Group" (FIAS_NSB)

  • Added new FIAS driver for "Hotel Vision - Sauter Italia" (FIAS_HOV)

  • Added new FIAS driver for "Sophie PMS - Avaya IP Office" (FIAS_SHE)

  • Added new FIAS driver for "Audience View" (FIAS_AVW)

  • Added new FIAS driver for "Gratuity Manager" (FIAS_GMR)

  • Added new FIAS driver for "ZyXEL - VSG1200" (FIAS_ZY1)


New in 8.2.4.16

  • Fixed a problem where IFC would fail when deleting nodes in the Configuration tool

  • VCT - fixed a problem in the length of the Duplicate-Key record

  • Add new driver for "Grundig Argus" (WSW)

  • OPERA - Added option for gracefull shutdown (former CTRL-F10 from IFC7)


New in 8.2.4.17

  • Added new driver for "Robobar/Autoclassic" (FKT=ROB)

  • FIAS - Fixed a problem in Half-Duplex protocol

  • V8-Small Business Edition - added a check which does not allow more then 3 interfaces

  • Added the option "GetInlineSchemas" for FIAS, so that a configuration can now be read from logfiles and IFC8 can be configured before the actual vendor is connected.

  • SIM - enhanced option where default Simulation Attributes can be set

  • IDRF - fixed a problem where IFC would not properly create the V8_IFC_RES_ view when no entry in IDRF was found for the respective interface. (DefRef0 was then missing in the view).


New in 8.2.4.18

  • Fixed smaller issues in ErrorEmail-Module

  • OPERA - Added default handling for LinkPmsConf values

  • Changed handling of Routings in Multi-PMS object mode:

Added new configuration attribute "GetPathId" where the attribute can be set by which routing should be done.

Note:

The known parameters WsNum for routing do NOT exist any more.

Routing-info is added to the PathId parameters and in GetPathId you configure which attribute the IFC should use internally.


New in 8.2.4.19

  • Fixed a problem where the command line parameter "-I" was ignored

  • Added new FIAS driver for "ManageOnline" (FIAS_MOL)

  • Added a new option where the name of the logfile can be modified and a different path can be selected:

(This option allows to include date and/or time into the logfile name. Doing this will cause the interface to write new logs to the harddrive:

e.g.:

This setup would include the date (day-info) in the logfile name. Thus there would be one logfile per day for the last months and IFC would start overwriting after 1 month.


What's new in 8.2.5.0 ?

  • With version 8.2.5.0 we have changed the internal codes for languages and are now using pure ISO-codes The update script will modify ILAN for existing installations accordingly. Please verify your Config.Xml(s) manually if further changes may be necessary.

  • Transformation of the ISO codes to the FIAS codes has been added internally

  • DTW - added option to use wake-up record 70 or 71

  • ROB - fixed a problem in sequence-number handling

  • DID - finalized for use with Siemens Caracas (FKT=SCV)

  • Configuration: Fixed a problem where language definitions could not be cloned

  • Added new PRN driver "Video Jock" (PRN_VJO)

  • Added new FIAS driver for "TVI - Television Interactiva" (FIAS_TVI)

  • Added new Keyboard short-cut "CTRL-D" for faster access to changing the Monitor level.


New in 8.2.5.1

  • FIAS - Added support for missing field "PD" (Dialled Digits) in PS and PR record

  • Added TR2GblDateSep as new possible value to IDRV_FEATURES. The expiry-date separator of outgoing Track2-attributes will be replaced with "=" if this feature is set.


New in 8.2.5.2

  • WSW - Added TV-Rights to RoomEquipment. The TV can now be blocked by either COS or TvRight changes.

  • Added new driver for "Pacific Pay Video" (FKT=PPV)

  • Added new driver for "Guestserve/Time Warner/Seachange" (FKT=GSV)

  • Added new configuration values to IDRV_FEATURES: PosCombSplt

    • Setting this feature allows to combine splits by DepartmentCodes

  • Smaller changes in preparation to Cross-Posting functionality

  • Added new driver for "Mitel SX-200 / SX200 ICP Call Ctrl" (FKT=MS2)

  • Added new FIAS driver for "Mitsubishi - G-50" (FIAS_MG5)

  • Added new FIAS driver for "Hotel on Air Fidelio Connector" (FIAS_HOA)

  • Added new FIAS driver for "OPC Server for Fidelio" (FIAS_OPC)

  • ROB: added option to send empty sequence number

  • M27/M37 - added option to use GuestFormattedName in PostList instead of DefRef1

  • M87 - Added support for 0-3 decimals in the charge fields (was formerly hardcoded to 2 decimals)

  • Fixed smaller issues in PCA/CAS configuration


New in 8.2.5.3

  • SCV - Added new configuration parameter, where incoming extensions can be defined to be a physical extension or possibly a virtual number too.

    • SCV_RequestType: Selection of the request type for incoming records,

      • '0' = support for extension and did number (default) (IFC will first search for the DID and only for an extension if no matching DID was found.)

      • '1' = only extension

      • '2' = only did number

  • AOM - Added support for 'special' lowlevel handling of the TCP-Alive records from Alcatel


New in 8.2.5.4

  • VC3 - Added support for Track1 field in KeyRequest record (not supported with V8 yet)

  • Fixed a problem where IFC8 offered to save the Config.Xml after the monitor properties were changed during runtime

  • Added new FIAS driver for "KOR CAM - Call Accounting Manager" (FIAS_KCA)

  • Added new FIAS driver for "Jetz - SmartTill Point of Sale" (FIAS_JZS)

  • Added new M27 driver for "RMS-Touch POS" (M27_RMS)

  • Added new driver for "Bosch Telecom ACOM" (TNA)


New in 8.2.5.5

  • M27 - added option to send name in PostList without leading room number

  • M27 - added option to support 8 sales itemizers with 2700 systems

  • Added new M27 clone: "YellowTip-Micros PMS Interface" (M27_YTP)


New in 8.2.5.6

  • Added new driver for "Phillips Octopus 180i" (O18)

  • VCT - minor corrections on the KeyDelete record

  • Enhancements to Cross-Hotel posting routines

  • Added new FIAS clone for "NovaMedia InRoom Solutions" (FIAS_NMS)

  • Added new FIAS clone for "Adeolis - WLAN Manager" (FIAS_AWM)

  • Added new FIAS clone for "Minxon - Room Management System" (FIAS_MXO)

  • Added new UNI clone for "Smarty by Audacity-Amtel" (UNI_SAA)

  • A44/AOM - Added option to set decimal places for incoming charges/units

  • Added attribute PathId to various actions in different drivers

  • AOM - Added support for a 'dot' in the unit-field of the charge record

  • UNI - Added SalesOutlet to PostSimple schema

  • Changes to different Protocol Classes to better support forced/controlled shutdown

  • Temporary Config.Xml file is now deleted by IFC8 automatically


New in 8.2.5.7

  • UNI - Added attribute SalesOulet to the posting-schema for simplified DC-selection

  • IHV - removed support for "KeyCommandTimeout" and use the PMS as defined in the PMS now

  • Added new command line parameter "+L" - This will start IFC8 in "locked" mode - most configuration options are then not available.

  • Corrections to internal XML handling

  • GSV - Added support for RemoteCheckOut (OPERA Only !!)

  • LDG - Added support for RemoteCheckOut (OPERA Only !!)

  • VC3/VCT - removed support for "KeyCommandTimeout" and use the PMS as defined in the PMS now

  • VC3/VCT - removed <NULL> characters from incoming encoder id in KeyAnswer

  • VC3/VCT - added automatic KeyAnswer, if VC3/VCT_Send_Key_Delete="N"

  • OPERA - Added new configuration "XML_ConvBin" to support corresponding XML formatting

  • SCV - Fixed a problem where IFC8 would fail if the entry in SCV_TimeRecordOffset was too large

  • Added new FIAS driver for "Talia by Amino Communications Ltd." (FIAS_TAA)

  • Added new M27-clone for "Smyth POS, Micros Emulation" (M27_SMY)

  • Added new FIAS driver for "VARIBON - OPERA posting interface" (FIAS_VRB)

  • Added new driver for "Saflock System 4000" (SL4)

  • Added new driver for "Saflock System 6000" (SL6)


IFC Tables - Update Script to 8.3.0.x

There are no table changes necessary when updating from version 8.2.5.x to 8.3.0.x.

The main version was changed, as IFC8.3.x.x requires a minimum version of IfcBusi being: 8.3.x.x

Do NOT run IFC8.3.x.x with any IfcBusi.Dll of elder version.


IFC Tables - Update Script to 8.3.1.x

/* Update script for IFC8 Updates from 8.3.0.x to 8.3.1.x

*/

/* 1. Modify ICFG table

*/

--modifying the ICFG_CMD_??? fields:

ALTER TABLE ICFG MODIFY (ICFG_CMD_CHK NUMBER(2,0));

ALTER TABLE ICFG MODIFY (ICFG_CMD_RM NUMBER(2,0));

ALTER TABLE ICFG MODIFY (ICFG_CMD_MSG NUMBER(2,0));

ALTER TABLE ICFG MODIFY (ICFG_CMD_WAK NUMBER(2,0));

ALTER TABLE ICFG MODIFY (ICFG_CMD_VN NUMBER(2,0));

ALTER TABLE ICFG MODIFY (ICFG_CMD_CC NUMBER(2,0));

ALTER TABLE ICFG MODIFY (ICFG_CMD_KEY NUMBER(2,0));

ALTER TABLE ICFG MODIFY (ICFG_CMD_NA NUMBER(2,0));

ALTER TABLE ICFG MODIFY (ICFG_CMD_BIL NUMBER(2,0));

/* 2. Modify IHST table

*/

--add the IHST_PMS_INVISIBLE field

ALTER TABLE IHST ADD (IHST_PMS_INVISIBLE NUMBER(1,0));

COMMENT ON COLUMN IHST.IHST_PMS_INVISIBLE IS 'Defines if a posting was sent to PMS as visible or not.

0 = visible

1 = invisible on bill

2 = invisible on reports

3 = invisible on both bills and reports';

Commit;


What's new in 8.3.0.0 ?

With IFC8 version 8.3 we have changed the internal handling of Control Characters within XML.

This change will not affect any drivers, however the change was done in both IFC8.Exe and IfcBusi.Dll.

Subsequently you need to ensure that no IfcBusi 8.2.x is running on any PMS PC when using IFC8 of version 8.3.x.x

Version 8.3.0.0 is the first version with full compatibility to the upcoming OPERA versions.

Changes done for version 8.2.5.7, which was never released:

  • UNI - Added attribute SalesOulet to the posting-schema for simplified DC-selection

  • IHV - removed support for "KeyCommandTimeout" and use the PMS as defined in the PMS now

  • Added new command line parameter "+L" - This will start IFC8 in "locked" mode - most configuration options are then not available.

  • GSV - Added support for RemoteCheckOut (OPERA Only !!)

  • LDG - Added support for RemoteCheckOut (OPERA Only !!)

  • VC3/VCT - change logic for "KeyCommandTimeout" and use the timeout as defined in the PMS now

  • VC3/VCT - removed <NULL> characters from incoming encoder id in KeyAnswer

  • VC3/VCT - added automatic KeyAnswer, if VC3/VCT_Send_Key_Delete="N"

  • SCV - Fixed a problem where IFC8 would fail if the entry in SCV_TimeRecordOffset was too large

  • Added new FIAS driver for "Talia by Amino Communications Ltd." (FIAS_TAA)

  • Added new M27-clone for "Smyth POS, Micros Emulation" (M27_SMY)

  • Added new FIAS driver for "VARIBON - OPERA posting interface" (FIAS_VRB)

  • Added new driver for "Saflock System 4000" (SL4)

  • Added new driver for "Saflock System 6000" (SL6)

Changes for 8.3.0.0:

  • Modified coding of special characters within XML. (Display of special characters in XML-Attributes will now be in HEX-values always.)

  • IFC8 will now not automatically overwrite invalid XML-Documents upon startup.

  • Fixed smaller issues in IGST handling (names were not always correctly updated during room-move actions)

  • Added new FIAS driver for "mrs (message routing system)" (FIAS_MRS)

  • Added new FIAS driver for "DESKO Corporate Payment Solutions" (FIAS_DKO)

  • Added new FIAS driver for "IPC VOD Advanced Hotel System (AHS)" (FIAS_AHS)

  • Increased the maximum value for RefNum to 25000 (Remember: This is not the maximum usable number of Ref-Numbers, but the amount of Ref-Numbers, as of which a message will be logged. )

  • Added new driver for "CME - Central Messaging Engine" (CME)

  • COR - Added option to disable translation of special characters in the namefield

  • LDG - Added parameter to ignore incoming DB-Swap requests

  • CTG - Added parameter to ignore incoming DB-Swap requests

  • AVC - Added parameter to ignore incoming DB-Swap requests

  • SLV - Added parameter for name field configuration for C/O record

  • SLV - Added parameter and logic for VIP-record

  • SLV - Added parameter and logic for C/I-GuestDataChange-C/O record format selection

  • SLV - Added parameter and logic for charge port functionality

  • OPERA - Added new config option "LA_TimeOut" - set an amount in milliseconds, how long IFC should wait for an LinkAlive response from OPERA after the LinkAlive was sent by IFC

  • Fixed smaller issues in the configuration (Apply Button was not always enabled after changes were done)

  • Added new FIAS driver for "Honeywell - EBI -Tema" (FIAS_HWE)

  • Added new FIAS driver for "ACTIS - Fidelio Exporter" (FIAS_AFE)

  • Added new UNI clone for "Ultimate! Call Accounting" (UNI_ULT)

  • Changed the default value for UNI_ChargeMultiplier from "1" to "100"

  • VC3/VCT - Fixed problem where certain settings in KeyComandTimeout would result in an "Overflow" error

  • IHV - Fixed problem where certain settings in KeyComandTimeout would result in an "Overflow" error


New in 8.3.0.1

  • M87POS - Fixed a problem where postings to rooms where not possible, when the guest's last-name started with a <blank>.


New in 8.3.0.2

  • M87POS - Fixed a problem where cash and creditcard postings where not possible any more after the changes in 8.3.0.1


New in 8.3.0.3

  • Added new driver for "Avaya Intuity-V.P. Lodging" (ATV)

  • Added new driver for "Marlock" (MLK)

  • Added support for the chargeport of "Mitel SX-2000 /3300 ICP Call Ctrl" (M2K)


New in 8.3.0.4

  • Added new FIAS driver for "H-D VOD - VOD Pty Ltd" (FIAS_HDV)

  • Added new FIAS driver for "IAIS - ICIT America Interface System" (FIAS_IAI)

  • Added new FIAS driver for "Valet Terminal" (FIAS_VAL)

  • Added new driver for "Alcatel 4300M (OPUS 300)" (AOP)

  • Added new driver for "NCR 2126/2160/2170/2760" (NC1)

  • Added new driver for "NCR 7054" (NC1_NC7)

  • Added new driver for "Evangel Limitted" (NC1_EVS)

  • Added new driver for "Smyth POS" (NC1_SPS)

  • Added new driver for "Dometic Minibar" (NC1_DMB)

  • Added new lowlevel configuration "MaxStackCounter". Default values is "32". This is used to control the amount of records IFC will keep in lowlevel memory in case of faulty communication to a vendor system (e.g. missing ACKs etc) This was added as IFC could run out of memory in case too many records where received and buffered.

  • M27 - Changed default checksum for M27 clones to M87CS

  • ATD - Fixed a problem where IFC was blocked after a LinkEnd was received

  • Voicemail - Fixed a problem (since 8.3.0.0) where voicemail notifications (e.g. to the TV-systems) where not working any more.

  • Changed the default Logfile settings from "One" logfile to "Daily" logfiles (Logfilename includes the day.)


New in 8.3.0.5

  • A44 - Small modifications in DID-handling

  • Added new driver for "Bosch Telecom Micrologica" (TNM)

  • Added new FIAS driver for "Siemens - HiPath Hispitality Service" (FIAS_SHH)

  • Added new FIAS driver for "Pelecard - FES / Fidelio EFT Server" (FIAS_PLF)

  • HCX - Added functionality to support the charge port

  • FIAS - Added "SingleThread" parameter (For Key and EFT drivers)

  • HXQ - Added option to send the guest name

  • Added new FIAS driver for "Syncro-Premier" (FIAS_SYC)

  • VC3/VCT: added "SingleThread" parameter

  • CCC: added "SingleThread" parameter

  • Global: Added a new queue handling for request/response actions

  • Various Video-Driver: Added the missing decimal separator in BalanceAmount attribute (for OPERA)

  • General: Fixed a problem in generation of Track2-data during "Pre-Check-In" and "Group" Keys

  • UNI - Added different interface families to the respective clones


New in 8.3.0.6

  • A44 - Minor corrections in DID handling

  • Added new FIAS driver for "Midas - Telephone Management System" (FIAS_MDA)

  • All spectradynes: Fixed a problem where the second INFO record to the same room would not be answered if received within 3 seconds


New in 8.3.0.7

  • Fixed a problem in internal queue handling

  • A44 - minor changes to DID handling

  • Global: Fixed a problem in Voicemail notification, when this is received on a DID-number and not an extension

  • IDRV - added new configuration feature: PosDontPostTA0 - When setting this on a POS system this make IFC ignore all postings where TotalAmount="0.00" (NOTE: IFC8 will then ignore a posting regardless if there are amounts in the itemizer attributes or not !!)


New in 8.3.0.8

  • M87POS: changed default for ChecknumberOption to "1"

  • MST/HT24/YAL/IHV/SLK/MLK/CME/VC2: added "SingleThread" parameter

  • Added new FIAS driver for "TV VOD - by Total-Vision" (FIAS_TVD)

  • Fixed a problem in PostInquiry by GuestName for guest names with leading blanks

  • Changed default for SavPeriod from"-1" to "60"

  • OCV - Added support for GRPS message

  • Added new driver for "Micros e7 - Enhanced" (M87POS)

  • Added new driver for "HeadButler, InnRoom Controls Ltd." (BUT)

  • Added new driver for "$$$ In The Bank (Shift 4)" (DIB)

  • Added functionality for Codepage transaformation. It is now possible to modify the (prior) hardcoded codepages as they are send to the vendor system. (It is not recommended to change the defaults!!)

  • Added general option to "Replace Umlaute" for corresponding drivers.

  • Added new FIAS driver for "EZPOS - EZLinks Point-of-Sale" (FIAS_EZP)

  • Added new FIAS driver for "IntoMedia" (FIAS_ITO)

  • Added new FIAS driver for "LS Retail-InfoStore - InfoHospitality" (FIAS_LSR)

  • Added new FIAS driver for "Funcontrol - SPA" (FIAS_FUS)

  • Added new FIAS driver for "C-GESP XXI - SPA System" (FIAS_CXS)

  • Added new FIAS driver for "Nonius - WGServer" (FIAS_NOW)

  • Added new FIAS driver for "Billing Sys for Empire by Paragon" (FIAS_BEP)

  • Added new FIAS driver for "Shiji - Payment Gateway System" (FIAS_PCS)

  • Added new FIAS driver for "System Five Integration With Opera" (FIAS_SFI)

  • FIAS - Allowed other language-codes, then those which are documented in the FIAS specification (Only ISO-codes. No further translation possible.)

  • Enhancements and fixes for Cross-Posting functionality

  • Added new FIAS clone for "PayLink - Hosting Travel" (FIAS_PLK)

  • FIAS - IFC is now sending Minibar Rights "ON" as "ML" and not as "MU" any more

  • Added new driver for "Bank of China" (BOC)

  • Added new option in IfcBusi.Dll "Write Log" - This would need to be enabled manually for debugging every time V8 is started. The logfile will be written in V8's default logfile directory. (Right Click on the respective IfcBusi-Icon to get the option)

  • Added new configuration parameter "ReplyTimeOut" to the STD Layer2 and the respective default values for the drivers which use this low-level (no manual change to this option should be necessary)

  • FIAS: Added new option for Bill-View "Don't send record, if Display-Flag='0' " - This was necessary as some vendor systems can not handle the display flag properly (for historic reasons) (ICFG_CMD_BIL = 3) - (Can be used on all drivers, which support BillView)

  • Database swap is now enabled when IFC is started in 'locked mode' (with command line parameter "+L")

  • FIAS - Added support for Duration (DU) in PostRequest


New in 8.3.0.9

  • Further enhancements to the new IfcBusi-Logfile functionality

  • All Spectradynes: Fixed a problem where C/I (INFO-Record) from financial accounts returned "No Guest Found"


New in 8.3.0.10

  • Added new configuration features: PosHidSpl0_Bill & PosHidSpl0_Repr (see respective documentation)

  • FIAS - Added default = "1" for IM (Installments) in EFT settlement records

  • FIAS - Added support for $V record (CcPayOnly) - (Will be documented with FIAS 2.10)

  • DID - Fixed a problem with notification records in case of a permanent assignment where the guest has no active reservation

  • Added new driver for "Movielink Omniview V2.0" (MOV)

  • Bill-View: Added new functionality: "Merge Items by POS CheckNumber", configurable via ICFG_CMD_BIL

  • Fixed a problem with C/O of financial accounts with more then one extension, where only the first extension was checked out


New in 8.3.0.11

  • Fixed a problem where PostingSimple actions were not passed over to V8 anymore (introduced in 8.3.0.10)


What's new in 8.3.1.0 ?

  • Added more detailed documentation about the new codepage features which were added in 8.3.0.8

  • FIAS - enhanced error handling for incorrect LinkRecords (Schemas will now be created, even if a non-valid field was detected in a LinkRecord)

  • Added new option in the monitoring, where new text can be selected to be displayed as HEX

  • Added new field: IHST_PMS_INVISIBLE to allow reporting on the new Invisible-Posting routine (8.3.0.10)

  • Change size of the ICFG_CMD_xxx fields as the configuration allows two-character values now


New in 8.3.1.1

  • IfcBusi - Fixed a problem in TCP behavior in slow network environments

  • FIAS - Fixed a problem where IFC8 would fail, if a vendor does not send a LD-Record at all


New in 8.3.1.2

  • Added the version numbers of all drivers to the respective logfiles

  • Smaller enhancements to Double-Byte handling


New in 8.3.1.3

  • SLK - Added a new feature where the PMS-UserID can be used to populate "Password" in the KeyRequest string

  • Changes to internal queue-handling in Single-Thread scenarios (IFC generated unnecessary errors, when e.g. KeyComands were defined in Single-Thread mode and a time-out occurred, while another command is already in the queue.)

  • IfcBusi.Dll - Reformatted Logfile for better readability

  • Double-Byte - Fixed a problem with UNI-Codes in the area of Korean characters.

  • Monitor: Added masking of security relevant attributes (EFT)

  • FIAS - GC (Roommove) added sorting of schema to send GS field right behind RN /RO field

  • FIAS - Added support for PostSimple record with multiple Minibar fields (Article based posting, = no 'TA' is in the record)

  • FIAS - New parameter for RoomEquipment handling "PackReRights". IFC will now read which attributes have changed and will only send out the changed one(s), if this parameter is activated.

  • Added error checking, so that Layer2="LLC_SIM" can not accidentially be used with 'normal' drivers

  • VCT - Fixed a problem where RecBufTimeout was not treated properly


New in 8.3.1.4

  • Key-System - Fixed a problem in Queue handling where KeyAnswer replies where multiplied under some circumstances

  • Further enhancements to masking of EFT attributes


New in 8.3.1.5

  • Added new driver for "Sauter" (SAU)

  • Configuration - IRMS-Import - Added tooltips to the fields in ExtRights

  • OPERA - Added default RequestType for DB-Swap

  • TIG - Added support for Roombased DID

  • TIG - Added support for Chargerecord with HHMMSS-duration field (old = MMSS)

  • CSB - Added support fro Roombased DID

  • Logfile/Monitor - Added masking of EFT-attributes in internal XML-communication

  • SLK - Modified display of error messages received from Safelock

  • M87 - changed default Comm-Layer to TCP


New in 8.3.1.6

  • DB-Swap - fixed a cosmetic problem, where multiple RefNum overflow error-messages could appear during DB-Swap.

  • Added new FIAS driver for "Legenda Hotel POS system" (FIAS_LEG)

  • Added new FIAS driver for "Interactive Information Service Sys." (FIAS_ITI)

  • Added new FIAS driver for "Angla Media" (FIAS_AGL)

  • Added new FIAS driver for "PBMS - Integration with Brikks Media" (FIAS_BRM)

  • Added new FIAS driver for "Counter Solutions" (FIAS_COT)

  • Added new FIAS driver for "DTPOS - PIS Data Communication" (FIAS_DTP)

  • Added new M27 driver for "R-Keeper, UCS" (M27_RKE)


New in 8.3.1.7

  • FIAS - Fixed a problem, where IFC8 would go into an endless loop when FS=| (pipe) was received in the LD-record


New in 8.3.1.8

  • CKS - fixed a problem with mapping the KeyAnswer from CKS to the request record - resulting in wrong KeyAnswer responses to the PMS


New in 8.3.1.9

  • Fixed a problem where IFC would not properly close a used IP-Port under some circumstances and would subsequently fail in re-opening it.


New in 8.3.1.10

  • Fixed a problem in internal queue handling:

    • The problem occurred when IFC had a request in the queue waiting for a response from the vendor and when then in this moment the link to the vendor was interrupted.

    • IFC will now discard the request if the Link-Status is not in "LinkAlive" when the RequestTimeout occurs

    • If RequestTimeout occurs after the linkstatus is back to LinkAlive will IFC process the timeout-event properly


New in 8.3.1.11

  • Re-wrote behavior of internal queue handling when records are in a queue and a LinkEnd request is received from either PMS or a vendor.


IFC Tables - Update Script to 8.4.0.x

/* Update script for IFC8 Updates from 8.3.1.x to 8.4.0.x

*/

/* 1. Drop the IMSQ_PC_PMS (was never used) and add IMSQ_AUTH field (Necessary for the new authorization feature):

*/

ALTER TABLE IMSQ DROP (IMSQ_PC_PMS);

ALTER TABLE IMSQ ADD (IMSQ_AUTH VARCHAR(64) NULL);

comment on column IMSQ.IMSQ_AUTH is 'IFC8 connection authorization information';

Commit;


IFC Tables - Update Script to 8.4.1.x

/* Update script for IFC8 Updates 8.4.0.x to 8.4.1.x.sql */

/* 1. modify ICTS table */

--add ICTS_CAS_TIME_INFO & ICTS_CAS_TRUNK fields for enhancements to full CAS

ALTER TABLE ICTS ADD (ICTS_CAS_TIME_INFO VARCHAR2(10) null);

COMMENT ON COLUMN ICTS.ICTS_CAS_TIME_INFO IS 'CallAccounting: time range information for discount calculations';

ALTER TABLE ICTS ADD (ICTS_CAS_DATE_INFO VARCHAR2(10) null);

COMMENT ON COLUMN ICTS.ICTS_CAS_DATE_INFO IS 'CallAccounting: date range information for discount calculations';

ALTER TABLE ICTS ADD (ICTS_CAS_DAY_INFO VARCHAR2(4) null);

COMMENT ON COLUMN ICTS.ICTS_CAS_DAY_INFO IS 'CallAccounting: day range information for discount calculations';

ALTER TABLE ICTS ADD (ICTS_CAS_TRUNK VARCHAR2(20) null);

COMMENT ON COLUMN ICTS.ICTS_CAS_TRUNK IS 'CallAccounting: calculation based on TrunkId (PostRoute attribute)';

Commit;


IFC Tables - Update Script to 8.4.2.x

/* Update script for IFC8 Updates 8.4.1.x to 8.4.2.x.sql */

/* 1. modify ICTS table */

--drop the ICTS_CAS_*_INFO fields

ALTER TABLE ICTS DROP (ICTS_CAS_TIME_INFO);

ALTER TABLE ICTS DROP (ICTS_CAS_DATE_INFO);

ALTER TABLE ICTS DROP (ICTS_CAS_DAY_INFO);

--allow Null in the ICTS_ICTT_ID field

ALTER TABLE ICTS MODIFY (ICTS_ICTT_ID NUMBER(30,0) null);

--modify the ICTS_CAS_DIAL field

ALTER TABLE ICTS MODIFY (ICTS_CAS_DIAL VARCHAR2(10));

--add the ICTS_CAS_PRFX field

ALTER TABLE ICTS ADD (ICTS_CAS_PRFX VARCHAR2(4) null);

comment on column ICTS.ICTS_CAS_PRFX is ' access code for external line as received from the PBX';

/* 2. drop unused ICAS table */

DROP TABLE ICAS CASCADE CONSTRAINTS ;

DROP sequence seq_ICAS;

/* 3. add ICTD table */

create table ICTD (

ICTD_ID NUMBER(30,0) not null,

ICTD_ICFG_ID NUMBER(30,0) not null,

ICTD_ICTT_ID NUMBER(30,0) null,

ICTD_DATE VARCHAR2(10) null,

ICTD_DAY VARCHAR2(4) null,

ICTD_TIME VARCHAR2(10) null,

ICTD_DISC NUMBER(3,0) null,

ICTD_LONGDESC VARCHAR2(64) null, constraint ICTD_PK primary key (ICTD_ID) using index tablespace v8index ) tablespace v8main ;

comment on column ICTD.ICTD_ID is ' ICTD_ID identifies ICTD';

comment on column ICTD.ICTD_ICTT_ID is ' the reference to the TarifGroup in ICTT';

comment on column ICTD.ICTD_DATE is ' Date range information for discount calculations';

comment on column ICTD.ICTD_DAY is ' Day range information for discount calculations';

comment on column ICTD.ICTD_TIME is ' Time range information for discount calculations';

comment on column ICTD.ICTD_DISC is ' Multiplier for discount calculations';

comment on column ICTD.ICTD_LONGDESC is ' ICTD_LONGDESC is of ICTD ';

comment on table ICTD is ' TimeDiscountTable';

create sequence seq_ICTD increment by 1 start with 1000 nomaxvalue nocycle nocache noorder;

Commit;


IFC Tables - Update Script to 8.4.3.x

/* Update script for IFC8 Updates 8.4.2.x to 8.4.3.x.sql */

/* 1. modify ICFG table */

--add the ICTS_INT_SPLT field

ALTER TABLE ICFG ADD (ICFG_INT_SPLT NUMBER(1,0) null);

COMMENT ON COLUMN ICFG.ICFG_INT_SPLT IS 'enable the internal split feature';

/* 2. modify ICTT table */

--add the ICTT_INT_SPLT field

ALTER TABLE ICTT ADD (ICTT_INT_SPLT VARCHAR2(128) null);

COMMENT ON COLUMN ICTT.ICTT_INT_SPLT IS 'define the internal split for the current tariff (ICFG_INT_SPLT must be enabled)';

COMMIT;


IFC Tables - Update Script to 8.4.4.x

/* Update script for IFC8 Updates 8.4.3.x to 8.4.4.x.sql */

/* 1. modify IACC table */

--enhancing IACC_SAL_OUTL:

ALTER TABLE IACC MODIFY IACC_SAL_OUTL VARCHAR2(128);

COMMIT;


IFC Tables - Update Script to 8.4.5.x

/* Update script for IFC8 Updates 8.4.4.x to 8.4.5.x.sql */

/* 1. Modify IDCO table: --new field: IDCO_CALL_TYPE */

ALTER TABLE IDCO ADD (IDCO_CALL_TYPE VARCHAR2(128) null);

COMMENT ON COLUMN IDCO.IDCO_CALL_TYPE IS 'the DC-SplittCode -> by PostCalltype info (e.g. int./nat./loc.)';

COMMIT;


What's new in 8.4.0.0

NOTE:

IFC8 version 8.4.x.x does NOT work with any IfcBusi.Dll version < 8.4.x.x !!!

IFC8 will detect any connect which is done with an elder IfcBusi.Dll and will automatically disconnect that respective DLL.

We have added enhanced crypting and masking of sensitive EFT data in this version, which requires that both sender and receiver (= IFC8 and IFcBusi.Dll) can support this.

New files:

As of version 8.4.0.0 there are two new DLLs which need to be installed with IFC8 and/or IfcBusi.Dll:

- wodCrypt.Dll

- wodKeys.Dll

These files will be copied to the C:\Fidelio\programs directory from the setup.

Additionally they will be included to the V8-installshield - and will be used by Suite8 as well.

These DLLs are components which are used in the new crypting routines for EFT security.

New oracle rights:

IFC is verifying the database-ID as of version 8.4.0.0.

If the user has DBA rights, no further changes are necessary. Otherwise you may need to run the following (connect as SysDBA first!!)

grant select on v_$database to V8LIVE;

(replace "V8LIVE" with the user you have in case it's different.)

Further changes in 8.4.0.0:

  • FCS - Charge-record: DC-Selector is read as 3 chars now (was only one char)

  • FCS - Charge-record: TotalAmount was read from wrong position

  • SCV - added support for minibar article update record

  • SCV - changed default for Comm-Layer to TCP and default for Version_Mode to "1" (for SCV behavior)

  • UNI - changed ACK definition to allow numeric representation of the actual character

  • UNI - added option to use separate position/length parameter for cross reference fields (Was combined with DC-selector)

  • Added new FIAS driver for "MenuXS" (FIAS_MXS)

  • Added new FIAS driver for "Ondamedia" (FIAS_OND)

  • Added new FIAS driver for "ComfortView - CCN" (FIAS_CCN)

  • Added new M27 driver for "NorthStar Club Management System" (M27_NCM)

  • Added new driver for "Movielink Movie Select" (TGL_MDS)

  • Changed handling of TvRights in case NoPost is set. IFC will change the right to "1" now instead of "0" during Check-In with NoPost

  • FIAS - Balance Amount in RemoteCheckout was transformed to XML without the decimal separator

  • Add support for Outlook/Exchange for Error-Email (NOT released yet!! This feature needs further testing and documentation)

  • IRMS Configuration - Configuration ignored I/O-settings when modifying a range

  • Enhanced VIP-Code translation to allow alpha-numeric VIP codes from the PMS (OPERA only !!! In V8 VIP codes need to be numeric.)

  • IDMP translation - fixed a problem where IFC would ignore IDMP_ICFG_ID when looking for the default entry in case a computername was not found

  • Added new driver for "Timelox PMS Plus" (TLP) NOTE: This driver is for OPERA only. There are NO plans to support this on Suite8!!!

  • Added support for a new action "KeydataChange" (so far: for TLP only)

  • RS232 - IFC will now give an error if a requested port is already open.

  • Added support for COM_BufferMode - IFC can now buffer incoming charges from e.g. UNI-drivers while the PMS connections is not available. (Note: This applies to RS232 connections ONLY. TCP connections will be closed when the link to the PMS is lost.)

  • Added new POS posting feature: "PosPost2Vacant" - IFC will now allow to post to guests with PMS-status= "Vacant" (= Checked-Out but folio still open.) when this feature is activated. NOTE: This feature requires a minimum V8 version of 8.6.0.3. (IFC detects the PMS version and will not offer the new feature on elder installations)

  • IDRF - smaller modifications to allow more enhanced SQL statements

  • Multi-Property - Fixed a problem where IFC would fail when configured to connect to two Oracle users where only one was available

  • General: added "MS" (Miscellaneous) to the "InterfaceFamily" property list

  • FIAS - added Doublepostingcheck (New "DblPstChk" parameter) (Necessary to define which attributes should be used for the checking.

  • Spectradynes - fixed a problem where check-in of Financial Accounts did not return guestdetails in the INFO record (Error 3)

  • Messagehandling - fixed a problem where sometimes all messages where set to "received, when only one was actually received

  • DC-Config - added new functionality, where pressing the "Arrow-Down" button automatically creates a new record when configuring SlaesItemizers (Subtotals)


New in 8.4.0.1

  • TLP - Added an option where it is now configurable if a KeyDelete command should be sent to Timelox or not

  • TLP - Fixed a problem where the default for Common Rooms was not selected if the received value from the PMS in KeyOptions was a <blank>

  • TLP - Fixed a problem where KeyRequest would fail if the value in DefRef1 was not numeric

  • Fixed a problem where IFC would not properly close a used IP-Port under some circumstances and would subsequently fail in re-opening it.

  • FIAS / All IFCs - Fixed a problem, where G# was not filled in RE with ML (Note: this was fixed in both Ifcbusi.Dll and IFC8.Exe, so both components need to be updated on all PCs in a Hotel in order to apply this fix!!)

  • FIAS - Added support for special message handling of the PacTrac system (FIAS_PTM)

  • Changed way of handling of internal queues to better handle records which are received by IFC8 from a vendor or from the PMS, while a DB-Swap is running

  • Added new FIAS driver for "PacTrac - Millennia" (FIAS_PTM)

  • Added new FIAS driver for "SkiData Parking" (FIAS_SDP)

  • Added new FIAS driver for "ICS-F HVAC Control System" (FIAS_ICS)

  • Added new M27 driver for "ResortSuite POS - EnableZ" (M27_RSP)


What's new in 8.4.1.0 ?

  • Fixed a problem in internal queue handling:

    • The problem occurred when IFC had a request in the queue waiting for a response from the vendor and when then in this moment the link to the vendor was interrupted.

    • IFC will now discard the request if the Link-Status is not in "LinkAlive" when the RequestTimeout occurs

    • If RequestTimeout occurs after the linkstatus is back to LinkAlive will IFC process the timeout-event properly

  • Enhancements to FULL-CAS - Currently only tablechanges and changes to the config-tool. Business logic for posting has not changed yet.n Detailed documentation follows when the business logic has been realized.

  • DAS - Added support for DB-Swap

  • TIG - Added support for article based minibar posting (Old record only supported charge based postings)

  • Added new FIAS driver for "Percipia Transient Communication Engine (PTCE)" (FIAS_PTC)


New in 8.4.1.1

  • TLP - Changed handling of PP-field: This field will now not be sent, if ClearText is not provided from the PMS

  • Added new FIAS driver for "Ghost Interface- Lariat Technology" (FIAS_GHO)

  • Added new FIAS driver for "Snap Pay Dispensing System" (FIAS_SNP)

  • Smaller correction in internal error-handling

  • Fixed a problem where IFC would stop, when a XML was received from the PMS, which was not according to the valid schemas


New in 8.4.1.2

  • Re-wrote behavior of internal queue handling when records are in a queue and a LinkEnd request is received from either PMS or a vendor.

  • Added new driver for "MIWA AL5H" (MIA)

  • DB-Swap - changed behavior so that GuestOut records can be sent in a Hard-Swap when IGST is not filled (upon new installation)

  • FIAS - Corrected a situation where GuestFormattedname might be defined in PostList-Schema instead of PostListItem schema (With the result the IFC8 would send the GuestName to the vendor instead of GuestFormattedname during inquiry responses.)


New in 8.4.1.3

  • IfcBusi.Dll - corrected an incompatibility problem to Oracle 8.1.x (IfcBusi could not be started by V8 when connected to Oracle 8)

  • All drivers: corrected wrong behavior during Check-In in case NoPost was set (In order to apply the fix, both IfcBusi.Dll and IFC8.Exe need to be updated to 8.4.1.3)

  • TIG - changed positions in the Minibar-charge record where the article number is read.


What's new in 8.4.2.x ?

  • CAS enhancements (detailed documentation to follow)

  • Discontinued "Media Console" (FIAS_MCS)

  • Added new driver for "Telecentre V3" (TC2)

  • Added new FIAS driver for "EPIX - Etesalat Call Management System" (FIAS_EPI)

  • Added new FIAS driver for "ROTSHTEN - SPA" (FIAS_ROT)

  • Added new FIAS driver for "Savvy Lock System-ASIS Technologies" (FIAS_SAL)

  • Added new FIAS driver for "Phillips - Hotel App. Service System" (FIAS_PHA)

  • Added new driver for "Copulo - P-Labor elektronik GmbH" (PLV_COP)

  • Added new driver for "Eyecom - P-Labor elektronik GmbH" (PLV_EYC)

  • Added new driver for "IntegraTV" (TGL_ITV)

  • DTW - Added support for DID

  • M27/M37 - Fixed a problem in detecting configured RoomPaymethods (Roompostings were not possible any more)

  • FIAS-to-XML - fixed a problem in handling of GuestFormattedname in POS-Inquiries (GuestFormattedname was stored in PostList and not in PostListItem. The result was that the formatted names were not used in PL records.)

  • Fixed a problem, where IFC8 would fail when an icompatbel IfcBusi-Version (< 8.4.x) was detected

  • Fixed a problem where IFC8 would fail with internal TCP-index (would only happen with M27_TCP as that driver constantly reconnects the port. This would lead to "SubScript-Out-of-Range" errors in the PMS object upon connection of a IfcBusi-Dll)

  • FCS - Added MessageID in MessageDelete record (RoomEquipment)

  • Added new view: V8_IFC_DISC (is created automatically during update or when started with parameter "+V")

  • Added timebased charging to Unit-charge handling


New in 8.4.2.1

  • Fixed a problem where IFC8 might fail with the following error upon connecting IfcBusi.Dlls:

  • EBP - Added new configuration flag, which allows incoming wakeup requests to be ignored:

EBP_IgnoreWakeupOrder

Possible Values:

'0' Ignore all incoming wakeup orders

'1' Accept incoming wakeup orders from guests

'2' Accept incoming wakeup orders from administrators

'3' Accept incoming wakeup orders from guests and administrators


New in 8.4.2.2

  • TLX - Enhaced the Parameter: Use_Track2

Possible values:

'1' transmission type 1, no track 2

'2' transmission type 2, no track 2

'3' transmission type 3, with track 2

  • A44 - Fixed a problem where Minibar-Charge records where interpreted incorrectly


New in 8.4.2.3

  • GSV - Added new option: GSV_DBSwap_Option to enable controlling of behavior when a DB-Swap request is received


New in 8.4.2.4

  • All DLS - Fixed a problem where a second key of a reservation could be sent to a vendor as KeyType "N" (New)


New in 8.4.2.5

  • Added new driver for "Nexus M9 PC System" (NM9)

  • Added new driver for "Nexus M10 PC System" (NM1)

  • IDRV_YRES_PRFX - fixed a problem where GuestNum translation did not work in PostInquiry records (as the GuestNum is transferred in PostInformation and not in GuestNum attribute in PostInquiry.)

  • CSB - Added a fix for a CSB problem, where IFC was failing, when CSB misses to send the Unit-field in the charge record


New in 8.4.2.6

  • IfcBusi.Dll - Changed dynamic creation of 3DES keys. Prior versions could create keys which included <null> characters, which were resulting in non-decryptable strings. (Crypted creditcard numbers could not be decrypted by IFC8 anymore.)

  • IFC8: added check for 3DES keys which are received from IFcBusi.Dll. IFC8 will disconnect any IfcBusi.DllIf a key is received which includes a <null>character (can only happen if an IfcBusi.Dll < 8.4.2.6 is installed)


What's new in 8.4.3.x ?

  • Added new FIAS driver for "FMI – Fort McDowell Interface" (FIAS_FMI)

  • Added new FIAS driver for "GAT Fidelio Interface" (FIAS_GAT)

  • Added new M27 driver for "GASTRO-TOUCH" (M27_GAH)

  • Added new driver for "Alerton Energy Management" (SAE_AEM)

  • Added new driver for "Scientific Atlanta" (SAE)

  • Added new driver for "Concierge Energy Management" (CEM)

  • Added new driver for "Groemer Engineering" (GRM)

  • Added new driver for "DC Computer Steuerung EMS" (DCC)

  • Added new driver for "Tel-Tron Energy Management System" (TLT)

  • Added new driver for "innPULSE bu Onity" (SAE_IPE)

  • Added functionality to split unit based charges

  • Micros - Drivers:

    • added GuestFormattedname to M87POS (replacing DefRef1) for Namedisplay

    • added support for GuestFormatedname <> LASTNAME in M27 driver

    • change posting logic, so that incoming postings can now be supported when GuestName contains the value from GuestFormattedname of the PostList (activation through new parameter in IDRV->FEATURES: PosGfnInPI )

  • Added support for Charge-Splitting (e.g. Cost & Profit) for Unit based postings

  • Added new driver for "ADS Anker 46" (AD6)

  • Added new driver for "ADS Anker 48/49/53" (AD9)

  • POS Inquiries: Fixed a problem where inquiries would fail, if the inquiry information cotained a " ' ".

  • ATD - Added support for charge-port (UNI-based)

  • Added new FIAS driver for "NetAccess IP3 - FIAS Option" (FIAS_NAF)

  • Added new FIAS driver for "SuitPOS Enterprise" (FIAS_SPE)

  • Added new FIAS driver for "Bartech Automatic Systems - FIAS Option" (FIAS_BAA)

  • Added new FIAS driver for "SuiteTV by Infovalue" (FIAS_SUI)


New in 8.4.3.1

  • A44 - Added option to configure COS values

  • TLP - Added support for "Additional Rooms"

  • MIA - Checked logic to fill "Check-In-Time" in Make-Key records. Value is now system-time minus 2 hours

  • Added new M27 driver for "Gaston Touch - Toshiba" (M27_GSO)

  • Added new FIAS driver for "Athena Hospitality System" (FIAS_ATH)

  • Added new FIAS driver for "Kaba Exos 9300" (FIAS_KAB)

  • Added new FIAS driver for "ezBook POS" (FIAS_EZB)

  • Added new FIAS driver for "InfoStar - Video System" (FIAS_IFS)

  • Added new FIAS driver for "Rivercruiser Entertainment System" (FIAS_RIV)

  • Added new FIAS driver for "CVPS - Fidelio Interface" (FIAS_CVF)

  • Added new FIAS driver for "Fulcrum POS" (FIAS_FUL)

  • Added new driver for "Ilco UNICAN" (ILU)

  • Added new CTG clone for "Telephony Office LinX and Family By Asna" (CTG_TOL)

  • Added basic functionality to enable printing from IFC8


New in 8.4.3.2

  • CI2 - Added option to select RoomNumber or Reservation-ID for outgoing records

  • Wakeup: All incoming records (Wakeup-Set,Delete or Responses)will now be ignored, if the extension is not in IRMS, or if the extension has IRMS_AL_WAK <> '5'.


New in 8.4.3.3

  • Added new driver for "C.I.S. (FORA PROTOCOL)" (CIS)

  • FIAS - Added work-around for Bill-View records in case OPERA does not pass Roomnumber and Reservation-ID values


New in 8.4.3.4

  • AD9 - Fixed a problem, where negative postings were processed with positive amounts

  • Added new FIAS driver for "GT POS-PMS Interface" (FIAS_GTP)

  • Added new FIAS driver for "ClubRunner (CR4WIN)" (FIAS_CR4)


What's new in 8.4.4.x ?

  • UNI - Removed default PostType and set to "", if neither TotalAmount nor MeterPulses can be found in the record

  • Added new driver for "Toshiba CATV Center" (TOV)

  • Added new driver for "Hotel Locking System/CDS" (HLS)

  • Added new driver for discontinued IFC7 parser: "Casino Parking (Caspar)" (CAP)

    • Note: CAP is for Crown Casino in Australia ONLY!, it is not for general sale.

  • Multi-property: Added generic functionality to add postings to PATH__ID="1", when a POS Cross-posting is detected (Needed for both Suite8 and OPERA in cross-posting scenarios)

  • Added support for style-sheets in XML (Can e.g. be used for customizing Logfiles in the future)

  • Posting: Fixed a problem, where POS postings were denied to a POS system after the charge was already posted to the PMS but when the Autobalancing failed

  • Added new FIAS driver for "Bull s.r.o.- EFT for Czech Republic" (FIAS_BUL)

  • Added new FIAS driver for "IAC-Box Frontoffice Connector" (FIAS_IAB)

  • Added new FIAS driver for "Hotspot Manager by FireDigit" (FIAS_HOF)

  • Added new FIAS driver for "North Building Technologies Ltd." (FIAS_NBT)

  • Added new FIAS driver for "RI-TV - Reliance Infocomm Limited" (FIAS_RIT)


New in 8.4.4.1

  • DIB - Added SequenceNumber to all schemas and store value internally as OPERA needs this to recognize EFT responses

  • BOC - Added SequenceNumber to all schemas and store value internally as OPERA needs this to recognize EFT responses

  • CCC - Added SequenceNumber to all schemas and store value internally as OPERA needs this to recognize EFT responses

  • Added new driver for "POSitouch" (PIT)

  • M27/M87POS - Set default to use GuestFormattedName and not GuestName in Inquiry-Responses, in case DefRef9 in LinkPmsCOnf is not set (only applies to OPERA)


New in 8.4.4.2

  • AD9 - Fixed a problem where posting to sharers went to the wrong guest

  • Added new FIAS driver for "SKY - Video System" (FIAS_SKV)


New in 8.4.4.3

  • OPERA - allowed the same TCP-port in PMS objects for Multi-Property (Note: Layer1 MUST be set to TCP/C in this case for all PMS objects !!)

  • M87POS - Added support for GuestSignature-GUID (OPERA only !!)

  • Added new driver for "Schultes HS1008-3, 2008, 3008-3/4" (SH1)

  • Added new Comm-Layer "FTP" (For remote testing with vendor ONLY.)

  • Added new FIAS driver for "HoSsA" (FIAS_HSO)

  • Added new FIAS driver for "ITS FIS - Video System" (FIAS_IFI)

  • Configuration: All changes need to be acknowledged with <enter> or by pressing 'OK' now


What's new in 8.4.5.0 ?

  • Added new option for DepartmentCode selection by PostCallType (normally = Local, National, International etc)

  • Added new driver for "NEC 7400 NEAX ICS 120" (N74)

  • Added new driver for "Call Processing Systems" (CPS)


New in 8.4.5.1

  • DIB - Fixed a problem in masking of sensitive EFT-data in the monitor, which eventually could lead to Runtime-errors

  • Added new driver for "VingCard 1080" (VC8)

  • Added new driver for "VingCard 1090" (VC1)

  • Added new FIAS driver for "MiTV - Communication Server System" (FIAS_MTV)

  • Added new FIAS driver for "Siemens - Open Processor" (FIAS_SPR)

  • Added new FIAS driver for "SGR - Server Grupo Real" (FIAS_SGR)


New in 8.4.5.2

  • Added new FIAS driver for "EPnet - POS" (FIAS_EPN)

  • DTW - added option to send 'message off' record (80) at C/O

  • MLK - added support for "KeyDataChange" (OPERA only)

  • SLB - added option to select different formats for GI/GC/GO records


New in 8.4.5.3

  • FIAS - Fixed a problem in Billview transformation of XML records from OPERA. (This problem was introduced in 8.4.3.3.)

  • FIAS - Fixed a problem where BillBalance (XB) records were sent prior to the BillItem records (XI)

  • DIB/CCC - Enhanced handling of Terminal-ID translation (from RequestTypes)

  • SLK/SL6 - Added parameter to remove/not-remove leading zeroes from extensions

  • SQL - Configuration: Added defaults for the PROT Layer (Layer2 was left with "N")

  • CCC - Removed MerchantId from all schemas, as is was not passed over to 3C anyway

  • Added new Comm-Layer for non-persistant TCP connections (for future use, mostly for EFT-systems which define threads connection based)

  • Added new driver for "Avaya Definity/Guestworks ASCII" (LAS)

  • Added Path-ID prefixhandling for SequenceNumber (needed for Multi-Property support)

  • All video-systems: replaced SequenceNum with PostNum in incoming schemas (No influence on functionality)

NOTE: This change is ONLY supported in OPERA versions >= 3.0.3 SP3

  • M87POS: IFC_GST_INQ: added support for extended inquiry "I/"

  • Added new FIAS driver for "SANTEL Access Control System" (FIAS_SAN)

  • FIAS - changed handling of PM (PMS PaymentMethod) in PL records (Was defined in PostList instead of PostListItem in XML translation)


New in 8.4.5.4

[8.4.5.4 was never published.]


IFC Tables - Update Script to 8.5.0.x

There are no table changes from 8.4.5.x to 8.5.0.x.


IFC Tables - Update Script to 8.5.1.x

/* Update script for IFC8 Updates 8.5.0.x to 8.5.1.x.sql */

/* 1. modify IRMS table */

--adding the IRMS_EXT_NUM index

CREATE INDEX IRMS_EXT_NUM ON IRMS(IRMS_EXT_NUM) TABLESPACE V8INDEX;

CREATE INDEX IRMS_DEST_ID ON IRMS(IRMS_DEST_ID) TABLESPACE V8INDEX;

/* 2. modify IHST table */

--add the IHST_CHECK_NUM index

CREATE INDEX IHST_CHECK_NUM ON IHST(IHST_CHECK_NUM) TABLESPACE V8INDEX;

/* 3. modify IDCO table */

--add the IDCO_PSAC_ID field

ALTER TABLE IDCO ADD (IDCO_PSAC_ID NUMBER(30,0) null);

comment on column ICTS.ICTS_CAS_PRFX is 'The PMS AccessPoint identifier for Area-Access handling.';

/* 4. modify ICRD table */

--add the ICRD_DEST_TYPE field

ALTER TABLE ICRD ADD (ICRD_DEST_TYPE NUMBER(1,0) null);

COMMENT ON COLUMN ICRD.ICRD_DEST_TYPE IS 'The type of the ICRD_DEST_ID (IRMS/YRMS/ZFAC))';

--add the ICRD_DEST_ID field

ALTER TABLE ICRD ADD (ICRD_DEST_ID NUMBER(30,0) null);

COMMENT ON COLUMN ICRD.ICRD_DEST_ID IS 'RoomNum ID (refference to IRMS/YRMS/ZFAC)';

--add the ICRD_GN_FRM field

ALTER TABLE ICRD ADD (ICRD_GN_FRM VARCHAR2(64) null);

COMMENT ON COLUMN ICRD.ICRD_GN_FRM IS 'The GuestFormattedname';

--update ICRD records to match the new structure

UPDATE ICRD SET ICRD_DEST_TYPE=(SELECT IRMS_DEST_TYPE FROM IRMS WHERE IRMS_ICFG_ID=ICRD_ICFG_ID AND IRMS_ID=ICRD_IRMS_ID),

ICRD_DEST_ID=(SELECT IRMS_DEST_ID FROM IRMS WHERE IRMS_ICFG_ID=ICRD_ICFG_ID AND IRMS_ID=ICRD_IRMS_ID);

--delete old/invalid ICRD records

DELETE FROM ICRD WHERE ICRD_DEST_ID IS NULL OR ICRD_DEST_TYPE IS NULL;

--drop the ICRD_IRMS_ID field which is not used for linking any more

ALTER TABLE ICRD DROP (ICRD_IRMS_ID);

/* 5. Update the V8_IFC_ZFAC_ID view */

CREATE OR REPLACE VIEW V8_IFC_ZFAC_ID

AS

SELECT

ZFAC_ID DEST_ID, TO_CHAR (ZFAC_AUTONUMBER) DEST_DESCRIPTION,

ZFAC_LONGDESC DEST_LONGDESC, 1 DEST_TYPE,

ZFAC_ACTVALIDUNTILNULL STATUS

FROM ZFAC

WHERE ZFAC_ACTVALIDFROMNULL = 0 AND NOT ZFAC_AUTONUMBER IS NULL

UNION

SELECT DISTINCT

DECODE (ZFAC_ID, NULL, TO_NUMBER (ZFAN_LONGDESC), ZFAC_ID) DEST_ID,

DECODE (ZFAN_LONGDESC,NULL, TO_CHAR (ZFAC_AUTONUMBER), ZFAN_LONGDESC) DEST_DESCRIPTION,

DECODE (ZFAC_ID, NULL, ZFAN_LONGDESC, ZFAC_LONGDESC) DEST_LONGDESC,

DECODE (ZFAC_ID, NULL, 2, 1) DEST_TYPE,

DECODE (ZFAC_ID, NULL, 0, ZFAC_ACTVALIDUNTILNULL) STATUS

FROM ZFAN, ZFAC

WHERE ZFAN_ID = ZFAC_ZFAN_ID(+)

AND ZFAC_ACTVALIDFROMNULL(+) = 0

AND LOWER (ZFAN_LONGDESC) = UPPER (ZFAN_LONGDESC)

AND ZFAC_AUTONUMBER(+) IS NULL;

COMMIT;

/*6. Update the V8_IFC_CARD view */

CREATE OR REPLACE VIEW V8_IFC_CARD

(ICFG_ID, ICRD_ACTIVE, ICRD_KEYTYPE, ICRD_ANSWERSTAT, DEST_TYPE,

DEST_ID, YRES_ID, XCMS_ID, GUESTFORMATTEDNAME, ICRD_KEYOPTIONS,

ICRD_TRACK1, ICRD_TRACK2, ICRD_TRACK3, ICRD_DATE, ICRD_SEQ_NUM)

AS

SELECT ICRD_ICFG_ID ICFG_ID, ICRD_ACTIVE, ICRD_KEYTYPE, ICRD_ANSWERSTAT, ICRD_DEST_TYPE DEST_TYPE, ICRD_DEST_ID DEST_ID, ICRD_YRES_ID YRES_ID, ICRD_XCMS_ID XCMS_ID, ICRD_GN_FRM GuestFormattedname, ICRD_KEYOPTIONS, ICRD_TRACK1, ICRD_TRACK2, ICRD_TRACK3, ICRD_DATE, ICRD_SEQ_NUM FROM ICRD

/

COMMIT;


IFC Tables - Update Script to 8.5.2.x

/* Update script for IFC8 Updates 8.5.1.x to 8.5.2.x.sql */

/* 1. update the V8_IFC_ZFAC_ID view */

CREATE OR REPLACE VIEW V8_IFC_ZFAC_ID

AS

SELECT

ZFAC_ID DEST_ID, TO_CHAR (ZFAC_AUTONUMBER) DEST_DESCRIPTION,

ZFAC_LONGDESC DEST_LONGDESC, 1 DEST_TYPE,

ZFAC_ACTVALIDUNTILNULL STATUS

FROM ZFAC

WHERE ZFAC_ACTVALIDFROMNULL = 0 AND NOT ZFAC_AUTONUMBER IS NULL

UNION

SELECT DISTINCT

DECODE (ZFAC_ID, NULL, TO_NUMBER (ZFAN_LONGDESC), ZFAC_ID) DEST_ID,

DECODE (ZFAN_LONGDESC,NULL, TO_CHAR (ZFAC_AUTONUMBER), ZFAN_LONGDESC) DEST_DESCRIPTION,

DECODE (ZFAC_ID, NULL, ZFAN_LONGDESC, ZFAC_LONGDESC) DEST_LONGDESC,

DECODE (ZFAC_ID, NULL, 2, 1) DEST_TYPE,

DECODE (ZFAC_ID, NULL, 0, ZFAC_ACTVALIDUNTILNULL) STATUS

FROM ZFAN, ZFAC

WHERE ZFAN_ID = ZFAC_ZFAN_ID(+)

AND ZFAC_ACTVALIDFROMNULL(+) = 0

AND LOWER (ZFAN_LONGDESC) = UPPER (ZFAN_LONGDESC)

AND ZFAC_AUTONUMBER(+) IS NULL;

/* 2. update the V8_IFC_ZDCO_ID view */

CREATE OR REPLACE VIEW V8_IFC_ZDCO_ID AS

SELECT

ZDCO.ZDCO_ID,

ZDCO.ZDCO_NUMERICDESC,

ZDCO.ZDCO_LONGDESC,

ZDCO.ZDCO_CDT,

ZDCO.ZDCO_MANUALPOST

FROM ZDCO;

COMMIT;


IFC Tables - Update Script to 8.5.3.x

/* 1. Enhance IPRN table for the new printing concepts */

DROP TABLE IPRN CASCADE CONSTRAINTS ;

DROP SEQUENCE seq_IPRN;

CREATE TABLE IPRN (

IPRN_ID NUMBER(30,0) NOT NULL,

IPRN_ICFG_ID NUMBER(30,0) NOT NULL,

IPRN_PMS_WS VARCHAR2(30) NULL,

IPRN_ACT_TYPE VARCHAR2(30) NULL,

IPRN_PRN_IDX NUMBER(4,0) NULL,

IPRN_TRAY NUMBER(4,0) NULL,

IPRN_FRM NUMBER(4,0) NULL,

IPRN_SIZE NUMBER(4,0) NULL,

IPRN_DATA LONG NULL,

CONSTRAINT IPRN_PK PRIMARY KEY (IPRN_ID) USING INDEX TABLESPACE v8index ) TABLESPACE v8main ;

COMMENT ON TABLE IPRN IS ' IFC_Printer';

COMMENT ON COLUMN IPRN.IPRN_ID IS ' IPRN_ID identifies IPRN';

COMMENT ON COLUMN IPRN.IPRN_ICFG_ID IS ' Link to the Interface ID in ICF.ICFG_ID';

COMMENT ON COLUMN IPRN.IPRN_PMS_WS IS ' the FO-WS PC-Name';

COMMENT ON COLUMN IPRN.IPRN_ACT_TYPE IS ' the corresponding ActionType (e.g. "RoomEquipment")';

COMMENT ON COLUMN IPRN.IPRN_PRN_IDX IS ' the selected Printer index';

COMMENT ON COLUMN IPRN.IPRN_TRAY IS ' the used PaperTray for the selected Printer';

COMMENT ON COLUMN IPRN.IPRN_FRM IS ' Format options for the selected Printer';

COMMENT ON COLUMN IPRN.IPRN_SIZE IS ' the PageSize for the selected Printer ';

CREATE SEQUENCE seq_IPRN INCREMENT BY 1 START WITH 1000 NOMAXVALUE NOCYCLE NOCACHE NOORDER;

COMMIT;


IFC Tables - Update Script to 8.5.4.x

/* Update script for IFC8 Updates 8.5.3.x to 8.5.4.x.sql */

/* 1. update ICRD table for OneShotKeys */

UPDATE ICRD SET ICRD_ACTIVE=0 WHERE ICRD_KEYTYPE='O';

/* 2. modify ICRD table */

--add the ICRD_SUITE_INFO field

ALTER TABLE ICRD ADD (ICRD_SUITEINFO VARCHAR2(128) null);

comment on column ICRD.ICRD_SUITEINFO is ' the SuiteInfo for this key';

COMMIT;


IFC Tables - Update Script to 8.5.5.x

/* Update script for IFC8 Updates from 8.5.4.x to 8.5.5.x

*/

/* 1. modify ICFG table

*/

--modify the ICFG_CMD_WAK field

ALTER TABLE ICFG MODIFY (ICFG_CMD_WAK NUMBER(10,0));

Commit;


IFC Tables - Update Script to 8.5.6#.x

/* Update script for IFC8 Updates from 8.5.5.x to 8.5.6.x

*/

/* 1. modify IRMS table */

--add the IRMS_ST_RS field

ALTER TABLE IRMS ADD (IRMS_ST_RS VARCHAR2(3) NULL);

COMMENT ON COLUMN IRMS.IRMS_ST_RS IS 'the last sent RoomStatus';

COMMIT;


IFC Tables - Update Script to 8.5.7.x

/* Update script for IFC8 Updates from 8.5.6.x to 8.5.7.x

*/

/* 1. create the V8_IFC_IDCO view */

CREATE OR REPLACE VIEW V8_IFC_IDCO

AS

SELECT ICFG.ICFG_LONGDESC, V8_IFC_ZDCO_ID.ZDCO_LONGDESC, IDCO.*

FROM ICFG, V8_IFC_ZDCO_ID, IDCO

WHERE ICFG_ID = IDCO_ICFG_ID

AND ZDCO_ACTIVE = 1

AND ZDCO_ID = ICFG_ZDCO_ID

AND IDCO_SUB_TTL <> 'DF'

ORDER BY IDCO_ICFG_ID, IDCO_ZDCO_ID;

COMMIT;


What's new in 8.5.0.0 ?

With version 8.5.0.0 most of the earlier low-level / protocol procedures have been re-written.

IFC8 will now detect (granting corresponding configuration) disconnect situations where CheckState is set to "N" (currently only on RS232 connections ) while trying to send data. (Logically this can not apply to e.g. UNI-based systems where IFC is only waiting to receive records.)

Additionally those drivers have been changed, where LinkStatus records are available.

IFC8 can now store the last record it was trying to send into the Config.Xml after the send-retries have expired (or the ENQ retries - depending on the respective protocol). IFC will re-init all objects after the record has been stored. Then it will try to send the same record again. The procedure will be repeated until the record could be sent.

(Note: this behavior does e.g. NOT apply to FIAS drivers, where a true LA/LE behavior is available. IFC8 will onluy use this for drivers, where no other record can be used.)

Updating:

When updating to IFC8 version 8.5.x and activating this new functionality, please make sure that you check the Enquiry-Retry and Record-Retry settings. If either of them is set to "endless" or any high value (e.g. 60) then this contradicts to the new functionality in 8.5.0.0.

IFC would then not be able to detect that a vendor system is not available any more, as no Retry error is raised.

(A good example is e.g. N24, where the retry is set to "60" with a timeout of 5 second. IFC would need 5 minutes of an error scenario before the error would be raised.)

The new default for N24 is "3", however this does not apply to existing installations, where the value would need to be changed manually.

NOTE: IFC will NOT connect to the PMS in this phase.

So for Suite8 the interface will be in 'asynchronous mode'; for OPERA IFC8 will be in 'Not Running' state.

The new behavior is configurable through:

  1. \IFC1\Potocol Layer\ReInit_On_ExpEnq="Y/N/X"

Globally: Use the default values and do not change them.

This parameter is not new in this release, but the attached functionality was changed:

In elder versions, the Interface could detect (depending on the respective protocol etc) that a vendor system was not responding any more, but the reaction would have been a re-init of all objects. And if the Comm-Layer was RS232 and CheckState was set to "N", then IFC would return to "LinkAlive" status right away. Subsequently more commands from PMS could be lost and the status of the interface would show as "Active/Running" in the PMS with no information that the vendor system is actually not running.

This functionality has been modified in 8.5.0.0:

IFC will now change the LinkStatus to "LinkEnd" once a protocol error has been detected and will then "Re-Init".

The interface will now try to check the protocol-status, after the interface has re-initialized. Should the communication still be interrupted, will IFC stay in LinkEnd status.

The elementary difference is, that a protocol can not be checked from within the protocol layer. IFC uses an application layer record to check if the vendor is responding or not.

The default settings will be set based on the respective driver on new installations.

For updates of existing installations, please check the Tool-Tip, it will show the recommended defaults for your installation

Possible values:

N = Not active (No action upon protocol error, not recommended)

Y = Active, always re-init upon protocol error

X = Active, only re-init upon protocol error, if LinkStatus = LinkAlive

Y and X can have a trailing numeric value.

Example:

X60 = wait for 60 second before re-init.

This functionality can be added to add pauses between re-init attempts.

OPERA:

The most used value is "X". However, it may be a good idea to change this to "Y" in certain situations:

- if e.g. the RS232 connection is channeled through a RS232-TCP converter (e.g. Equinox Box), as then the Comm-Port is reopened, which could re-initialize the device.

  2. \IFC1\Application Layer\ReInit_On_LnkErr

Globally: Use the default values and do not change them.

Note: This configuration parameter does NOT exist in all driver, but only in those which can support this functionality. This implies that the vendor system can respond to a LinkStatus message from the IFC with a LinkStatus response. ('ACK' is not an application layer message!!)

Some drivers have application level records which could be used for a protocol check (= for a check if the vendor is running and responding.) The availability of this parameter and the settings depend very much on the respective driver. Please check the ToolTip carefully to find the default for your installation. It is not recommended to change the default value.

Normally \IFC1\Potocol Layer\ReInit_On_ExpEnq is set to "N" when the application layer settings is available.

Possible values:

N = Not active

Y = Active, check the availability of the vendor system through the available LinkStatus records, send the LinkStart record and then wait for the vendor system to react

X = Active, check the availability of the vendor system through the available LinkStatus records, send the LinkStart record and re-init after the response time-out has occurred.

XP = Active, check the availability of the vendor system through the available LinkStatus records, however already re-init, if a protocol error has occurred when sending the LinkStatus record ( i.e. no ACK was received)

This setting has been added, as we are now using application layer records in a way, which did not exist before. This setting was introduced to give the installer the option to disable the new functionality in case of problems.

General changes:

  • All "Init" or "Poll" records which may exist in the different drivers, will now be channeled through the IFC8-Object logic. You will see them as "DataThrough" records in the logfile.

The advantage is, that these records can now be used to check the LinkStatus.

  • The startup of IFC8 when started without a config.xml has been changed. IFC8 will now ask for the entry of the desired FKT_LOGO before starting the first time.

Further changes in 8.5.0.0:

  • Added new driver for "InnComm 22020 Central Interface" (ITC)

  • Added new driver for "CheckLine CBM Smart EFT-PC" (CKL)

  • Added new driver for "Informatel" (INF)

  • Added new driver for "TEC America, INC FDS 200" (FDS)

  • Added new driver for "eMOD by Oxford Media" (LDG_EMO)

  • Added new FIAS driver for "LEVEL Lock Card-Program Management" (FIAS_LEV)

  • Added new FIAS driver for "Odysee - Sigma SA" (FIAS_ODY)

  • Added new FIAS driver for "Guestkey" (FIAS_GUK)

  • Added new FIAS driver for "SK C&C Minibar & Guest Staying IFC" (FIAS_SKC)

  • Added new FIAS driver for "SK C&C - DelVino POS Interface Sys." (FIAS_SKD)

  • Added new FIAS driver for "WaiterPad - PalmTEQ Limited" (FIAS_WPP)

  • Added new FIAS driver for "MTZ Milock-F MIDITEC" (FIAS_MTZ)

  • Added new FIAS driver for "RSI SourceHUB" (FIAS_RSI)

  • Added new FIAS driver for "MBM PAY TV System" (FIAS_MBM)

  • Added new M27 driver for "SoftBrands POS" (M27_SOF)

  • N24 - corrected a problem where IFC8 could get stuck in the lowlevel under special circumstances and would stop sending any record

  • Correct posting behavior in Multi-Property scenarios (was broken when AddCrossPost was implemented)

  • Allowed PostInquiry during DatabaseSwap in MultiProperty scenarios (used by Spectradynes)

  • OCV - Added support for Remote-Check-Out (OPERA only)

  • OCV - Added support for INHB record to bar/unbar extensions

  • TIG - Added support for DND record

  • FIAS - Added new DID handling (FIAS specification 2.10)

  • FIAS - Corrected the format of DT (Departuretime in KR records)

  • LDG - Added support for Remote-Check-Out (OPERA only)

  • MOV - Added support for Remote-Check-Out (OPERA only)

  • TGL - Added support for Remote-Check-Out (OPERA only)

  • SL6 - corrected defaults for Layer2

  • M27-Clones: restricted availability of TCP/ip connections to those clones, where TCP/IP was agreed initially for IFC7

  • Configfuration: corrected a problem where IFC8 would stop with Runtime error when no PMS-Key-Rights were configured during DLS-right configuration.


New in 8.5.0.1

  • ROB - Add configuration flag and logic to pass the first 2 Chars of the article description to the SalesOutlet attribute (for DC selection)

  • Updated Operation System descriptions in the logfiles (added VISTA, 2003 R2 Server, etc)

  • Configuration - Corrected an internal regression which could lead to Runtime-Errors in all areas of the configuration

  • SCV - Added feature and functionality to send the language-update record upon a GuestDataChange


New in 8.5.0.2

  • Corrected a problem where wakeup - responses would not be sent back to PMS workstations (TCP error in PMS object)

  • Added dynamic 'default values' in protocol ToolTips for Layer2 "BMP" (Some ToolTips showed the wrong default, yet the correct value was chosen by IFC)


New in 5.0.3

  • Corrections to "AddXPost" functionality:

    • Homepath for Roompostings was not properly detected with OPERA

    • Homepath was hardcoded to PathId="1" with OPERA

    • Available paymentmethods for crossrevenue postings were not displayed correctly in the configuration

  • Added new driver for "Ingelink - P - EFT Payments Solution" (IGL) (needs extra components on the IFC-PC and currently not released versions of Suite8 or OPERA!!)

  • FIAS - Added support for VIP translation (Default: switched off)

  • IFC8.Exe - added check for invalid department code configuration upon startup

  • IfcBusi - added Error-ballons which are displayed when incorrect department code configuration is detected

  • OPERA - corrected a problem where IFC would not allow the same TCP-port for multiple PMS objects

  • SIM - Allowed all RequestTypes in LinkDescription

  • A44 - corrected a problem where H-Record was not sent for GuestDataChange, if new DID was assigned for a checked-in guest

  • EFT security - added masking for creditcard numbers in simulation records

  • CKS - changed check-in time to "00:00"


New in 8.5.0.4

  • Smaller corrections in Multi-Property handling:

    • IFC would stop reacting on cashpostings to a different path if followed right after a cross-roomposting

  • IDLR - enhanced logic so that "0" values can be added in der to create KeyOptions like: KeyOptions="10100000000000000000

example setup:

  • IfcBusi-Balloons - Corrected a problem, where balloons may open in scenarios, where actually no error on the interface occurred.


New in 8.5.0.5

  • CKS - changed default check-in time to '00:00'

  • MIA - Added support for TCP connections

  • UNI - Added validity check for Duration in posting records. Blanks will be replace with "0" now

  • UNI - added configuration to define the length for hours in the duration (Valid values: '1' and '2')

  • Minor changes to LinkPmsConf handling to enhance performance in Multi-Property installations

  • Added IRMS check routine to Startup: IFC will raise an error now, if invalid room-configuration is found in IRMS

  • A44 - Changed default for A44_SendNightAudit to "N."

  • Added new FIAS driver for "Comms Mediation Device" (FIAS_CMD)

  • Multi-Property and DID: Corrected invalid DefRef5/DefRef6 values in LinkPmsConf


New in 8.5.0.6

  • ATD - corrected a problem with handling of the heartbeat records which were not sent every 10 seconds, while IFC8 builds up a DB-Swap-Array. (The PBX shuts down the communication channel, if no heartbeat is sent every 10 seconds)

  • ATD - Added new configuration flag where DB-Swaps can be:

    • activated (normal handling)

    • deactivated

    • only allow manual swaps from IFC8 (= ignore all requests from the PBX)

  • ATD - enhanced logfile, so that incoming records are shown as clear text too

  • LinkPmsConf: Added support for compressed values in DefRef5 (only internally used.)


New in 8.5.0.7

  • Added new driver for "3C ccintegra 9000" (CC9) - DO NOT USE, this driver is untested !!

  • Logfile: Added timestamp showing the duration of a posting process (=time how long IFC needs to write a posting to the database)

  • Configuration: Fixed a problem where IFC would fail on importing financial accounts which have alphanumeric descriptions

  • CAS - Fixed a problem where IFC could locate the wrong record in ICTT while splitting different taxes from the posting record

  • Further enhancement to Tooltips of protocol attributes

  • Added new M27-driver for "Postec RMS/PMS Interface" (M27_PSC)

  • Added new FIAS-driver for "Amano Parking Systems" (FIAS_APS)

  • Added new FIAS-driver for "H.NET - ITV" (FIAS_HNT)


New in 8.5.0.8

  • Added new driver for "Servebase PC EFT" (NWS)

  • Added new driver for "FEIG - RFID Reader/Writer" (FEI)

  • Configuration: smaller changes for better SQL-performance

  • MST - Added support for Roomstatus values 66 - 69

  • TLP - Removed unused Track1 and Track2 attribute from KeyDataChange


New in 8.5.0.9

  • FEI - Added KeyOptions in KeyRead respons

  • FEI - Added Support for KeyDelete, where all values on the band will be overwritten with "0"


New in 8.5.0.11

  • FIAS - Added a feature where incoming DB-Swap requests can be ignored

  • XML - Added a feature where incoming DB-Swap requests can be ignored


New in 8.5.0.12

  • UNI - allow negative values for position of DC selector for counting the position from the end of the record

  • PPC - Added support for Wakeup record '18' and handling of wake-up results

  • CI2 - Added option where leading zeros can be preserved on incoming records

  • SLV - Added support for Roomstatuses "CL" and "SK"

  • Added new FIAS driver for "Wayport Network Mngt 2-way" (FIAS_WNN)

  • Added new configuration parameter 'PrgCaption' in the general section, where the screen caption can be modified.


New in 8.5.0.13

  • FEI - Enhanced error-messages to more clearly identify where a transaction failed (e.g. if a RFID was bad or if an encoder could not be reached)

  • FEI - Changed position in Block 19 of the RFID to where the posting rights are written (changed from leftmost to rightmost byte)

  • FEI - Changed reconnect behavior in case of a re-init which was initiated by the IFC_Controller (This is a temporary fix and will be looked at again in close future)

  • Added new driver for "GASTROFIX (LIMITED FUNCTIONALITY)" (GTF)

  • Added new UNI driver for "hotericom - CIB Computertechnik" (UNI_HCB)

  • Added new M27-clone for "MATRIX POS" (M27_MTP)

  • Added new FIAS driver for "Bitbuzz Internet" (FIAS_BBZ)

  • Added new FIAS driver for "Ideal ICS Server" (FIAS_IIS)


New in 8.5.0.14

  • FEI - Further enhancements to the Lowlevel driver (better behavior in startup checking and Re-init)

  • Added new FIAS driver for "HOTstream™" (FIAS_HOE)

  • SLV/SLB - Added support for MinibarCharges


New in 8.5.0.15

  • SLV - Added support for D.I.D.


New in 8.5.0.16

  • SLV - smaller corrections in NameChange handling

  • SLB - Added support for D.I.D.

  • Added new driver for "c.a.r.u.s - cCredit" (CAX)


New in 8.5.0.17

  • Reconnect of Comm-Layer: corrected a problem, where parts of the logfile where lost when the Comm-Layer was disconnected and reconnected

  • Added new driver for "Tenovis Integral 3/5" (TNO)

  • CAX - changed default TCP-Port to 1550 (IFC= TCP-Client)


New in 8.5.0.18

  • NWS - Adopted Record length check for shorter records in case of a refund response (record from Servebase misses Authorization-Code field)

  • Added backup FKT-Logo for Infogenesis which should be used until the identified issues have been fixed on the Infogenesis side: FIAS_PstInqOff_IHS

  • Added new driver for "Maginet Enhanced PMS" (MNE)

  • HT24/IHV/MIA/NM9/VC2/VC3/VCT - Remove GuestNumber from schemas (was never not used)

  • VC3/VCT - smaller corrections to Sharer handling

  • Added new FIAS driver for "JassSuite System" (FIAS_JSS)


New in 8.5.0.19

  • TNS - fixed problem in DND records (changed from BUM to MES)

  • M27 - added missing WsNum to Schemas (used as reference for cross posting)


New in 8.5.0.20

  • Smaller correction to Half-Duplex low-level driver to LLC_BSC (not in LLC_HDX)

  • Enhancements to POS-searches by name to speed of the search process (V8 only)

  • IfcBusi - Add option where notification balloons can be disabled (Busi_NoBal - can be configured through right-click of IfcBusi-Icon)

  • HCX - Changed IfcFamily from "VM" to "PB"


New in 8.5.0.21

  • Multi-Property Posting: Corrected a problem where only the first PostListItem in a Postlist was sent with correct ReservationNumber

  • Added new FIAS driver for "Systech SIA Internet Access" (FIAS_SSA)

  • Added new FIAS driver for "TAC Sigma IC Fidelio" (FIAS_TSG)

  • Added new FIAS driver for "Sitel POS" (FIAS_SIE)


New in 8.5.0.22

  • Multi-Property - Changed behavior of MaximumGuest in PostList: IFC will now return the defined number of matches to the POS system. It will take the matches in the orders a they are received from the different PMS objects (= matches from the slowest return will be cut off.)

  • M27 - Enhancements so that "GE_UML" can be used in the CodePage configuration (activated through new configuration flag)


New in 8.5.0.23

  • Added new driver for "Guest Direct" (DHS)

  • Multi-Property: Corrected "Type mismatch- Error" in case a PostRequest was received for an extension which did not exist in any of the received TransTabs.

  • CCC - fixed deadlock after a NightAuditStart/End

  • CC9 - fixed deadlock after a NightAuditStart/End

  • M27 - Added RequstType to PostRequest and PathID to PostAnswer

  • M27 - Enhancements to better handle incorrect Workstation handling from POS systems (e.g. sending all requests from WsNum="1")


What's new in 8.5.1.0 ?

  • LinkPmsConf - Corrected a problem where an error "Invalid use of Null" was thrown, if a requested attribute was not received in the LinkPmsConf-record (OPERA only)

  • Enhanced sequence-numbers for Keys so that more then 999 keys per guest can be made (Suite8 only)

  • Allow KeyActions with no relation to a room (preparation for Key-creation for Financial Accounts)

  • KeyCreation Enhancements to Sharer handling (Suite8 only)

  • Support for access handling (turn-styles) for Suite8 Ticket-Handling

  • Added new FIAS driver for "HospiX Connect" (FIAS_HPX)

  • Added new FIAS driver for "Internet Metering Gateway (IMG)" (FIAS_IMG)

  • Added new FIAS driver for "SafeMark SCM" (FIAS_SCM)

  • DIB - use AudittrialNum as reference for Authorizations and Settlements


What's new in 8.5.2.0 ?

  • LAS - Changed Type from "VM" to "PB"

  • LAS - now sending a Bar-record at C/I, if COS="0"

  • Added new driver for "Harris 20-20 Accomodator" (H20)

  • FIAS - Added ability to crypt sensitive data (EFT)

  • Configuration - Now shows which department codes are configured for manual postings

  • Protocol: - Add option where "Answer-ENQ-with-ACK" can be enabled with different Protocol-Layers (used by some FIAS vendors on TCP for alive-check)

  • Wrapper - Added new internal FKT-Logo"H2N" for connections to the IFC7Wrapper (Siemens Hicom 150 only!!)

  • Added new FIAS driver for "ABB MiniMac" (FIAS_AMM)

  • Configuration - it is now possible to import FAs which have not been checked in for the first time.


New in 8.5.2.1

  • Redesign of ErrorEmail: added EMailZipLog feature. Attached logfiles can now be compressed using WinRar or WinZip.

  • PLV: added support for room status (record type 71)

  • DataResync - Added new RequestType '1024'. This can be used to re-populate IGST without sending any record to the vendor system. (Simply set '1024' in addition to the request-types of the desired DB-Swap)


New in 8.5.2.2

  • Added IDRV_FEATURES="NoChgCmd" --> do not reset ICFG_CMD settings based on incoming Schemas (Only applicable to: ICFG_CMD_CHK / ICFG_CMD_RM / ICFG_CMD_MSG / ICFG_CMD_WAK / ICFG_CMD_VN / ICFG_CMD_CC / ICFG_CMD_KEY / ICFG_CMD_BIL / ICFG_INT_SPLT / IDRV_VM_NOTIFY/IDRV_TR2_NUM)

  • Added new FIAS driver for "HIS.PlanWellnessSPA" (FIAS_HPW)

  • Added new FIAS driver for "Maximizer Fidelio Interface" (FIAS_MFI)

  • Added new FIAS driver for "WSV Speedway Data" (FIAS_WSV)

  • Added new FIAS driver for "Eurofluxo international bv" (FIAS_EIB)

  • Added new FIAS driver for "eClubLogic POS" (FIAS_ECP)

  • PLV - Added support for Minbar Posting Record

  • A44 - added option to read 4-digit roomstatus values from "C" record (Suite8 @ Costandinou Bros Hotels only!!)

  • MIA - Corrected a problem where Groupkeys would not work if Track2 was not enabled

  • VC3/VCT - Corrected a problem where Groupkeys would not work if Track2 was not enabled

  • CCC - Corrected handling of Date/Time in settlement records

  • M27 - enhanced license feature for "I/" inquiries

  • Wake-Up: Changed configuration: IFC8 does not allow the WakeUp retry handling any more, if external WakeUp handling is enabled. (Retry Time should be set to the total amount of time which IFC should wait for a response.)

  • Wake-Up: added IDRV_FEATURES="WakFixTi" - This feature will try to locate an existing wakeup based on system time, in case a result is received where for the exact date/time stamp no record can be found in IWKC.

  • CC9 - added DCC functionality (CC only, not C&P), use real settlement date/time from PMS, added support for record type 950, smaller corrections of items found during testing

  • Added new M27 driver for "Club Prophet Systems" (M27_CPH)


New in 8.5.2.3

  • CC9 - Added support for DCC (in non-Chip&PIN environments)

  • FIAS - Performance enhancement for Billview with large amounts of postings.

  • DB-Swap - Removed "Unsupported Action" messages during DB-Swaps


New in 8.5.2.4

  • Changed setup of IFC8 to use one combined install-shield for Suite8 and OPERA implementations

  • UNI - Corrected a problem where posting where failing with "Overflow" error, when call/length exceeded 546 minutes

  • M27 - Added masking for creditcard postings in case the POS system sends creditcardnumbers as clear info

  • FCS - Corrected sharer handling

  • Added new driver for "Genidata" (GDA)

  • Enhancements to the send-queue: The send-queue is now purely event-oriented which will lead to better performance e.g. during DB-swaps

  • FIAS - Added crypting to EFT records when communicating to IFC7 (needs IFC7 >=7.44)

  • Enhanced ICRD pack-routines. Until now too many outdated records were left in ICRD


New in 8.5.2.5

  • M27 (& all clones) - Corrected a problem in the configuration, where the automatic creation of all configuration attributes failed (since 8.5.2.2)

  • Added new M27-clone for "ShawMan POS" (M27_SHM)


New in 8.5.2.6

  • Removed DefRef0 from some Key-Drivers, where it was in the KeyRequest schemas, but not actually used (Lead to problems with Group-Pre-Checkin Keys)

  • KeyRequest: corrected handling of Profile-IDs when searching for active keys in ICRD

  • IfcBusi - Corrected a problem where IfcBusi would fail to load, if the logfile path could not be created


New in 8.5.2.7

  • Billview - Corrected a problem in the queries when doing bill-view through M87-driver (Suite8 only)


New in 8.5.2.8

  • OCV - Changed defaults for OCV_Use_Extended_Checkin and OCV_Use_European_Features to "N"

  • M27_SAM - removed support for TCP

  • FIAS_IHS - removed support for TCP

  • E-Mail - corrected a problem where IFC8 was already trying to send e-mails while the error module

  • FEI - changed interface family from "EF" to "MS"

  • GDA - Added masking of security relevant information

  • NWS - corrected topup authorization, use topup amount instead of total amount

  • Configuration: Added option to import Driver configuration from an existing Config.Xml (PLEASE TEST THIS IN THE OFFICE PRIOR TO USING AT A LIVE SITE !!!)

  • Configuration: Changed logic in EFT-Security so that IFC can be stopped even when no valiud Authorization Key has been added (necessary in cascaded scenarios)

  • Wakeups: Corrected a problem where an error with Error Description="compobj.dll is too old..." would be displayed when incorrect wakeup settings were detected (Suite8 only)

  • Added new FIAS driver for "In-Order Interface Module" (FIAS_IOR)

  • Added new FIAS driver for "Dr.COM 2033-2133 BMG-BARS BillingWare" (FIAS_DR2)

  • Added new FIAS driver for "Deltadator - E.H.C." (FIAS_DLD)

  • Added new UNI driver for "Berdoz SA Call Accounting" (UNI_BZU)

  • Added new Hitachi driver for "ComXchange by Innovations" (HCX_CXC)


New in 8.5.2.9

  • LDG - enhanced DB-Swap options:

    • '0' start a DB swap for each request (default)

    • '1' don't start a DB swap on request (only manually)

    • '2' swap on every 10th request

    • '3' only swap on first request

  • OCV - enhanced DB-Swap options:

    • '0' start a DB swap for each request (default)

    • '1' don't start a DB swap on request (only manually)

    • '2' swap on every 10th request

    • '3' only swap on first request

  • OCV - Corrected DB-Swap. Now only checked-out rooms will be sent and not all rooms

  • FIAS - Added new configuration parameter "UseKeyCount" - use this for Keysystems which can not properly handle duplicate keys

  • TLX - Added new configuration parameter "UseKeyCount" - (corresponding PMS logic as of: Suite: 8.6.2.2, OPERA: 4.0.4.01) This parameter was added as most TimeloxSystems can not handle duplicate keys. Default="1"

  • SingleThread - Corrected a general problem (introduced in .5.2.4) which could lead to problems in Keygeneration with e.g. Vingcard, where IFC8 would not wait for a KeyAnswer (when running on OPERA)

  • All key-drivers: adopted schemas for the new KeyCount handling as introduced in Suite8: 8.6.2.2 / OPERA: 4.0.4.01

  • A44 - removed COS/DND/MSW from GuestdataChange-Schema (in room-based mode only)

  • M7POS - added option to use extended inquiry by default (= waiter will not need to use "I/")

  • OPERA - Added new configuration parameter "MaxTrack2Length" where the length of a Track2 in KeyAnswer can be trimmed before it is passed on to OPERA. (used by e.g. MST and YAL)

  • Added new FIAS driver for "Salus - POS" (FIAS_SLP)


New in 8.5.2.10

  • Added new driver for "ONITY / TESA HT12" (TES)

  • Added new driver for "Ericsson MD 180" (M18)

  • Added new driver for "Ericsson Multifit" (M18_MUL)

  • TGL - MSGR: leading zeros are no longer removed from room number (Clarify# 4872570)

  • Added new FIAS driver for "Lenel OnGuard" (FIAS_LNO)

  • Added new FIAS driver for "e-Leisure Management Suite" (FIAS_ELM)

  • Added new FIAS driver for "Kooltech Autobar" (FIAS_KOO)

  • Added new FIAS driver for "InnSist CAS" (FIAS_INC)

  • Added new FIAS driver for "InnSist POS" (FIAS_INS)


New in 8.5.2.11

  • IfcBusi.Dll - Errorhandling has been enhanced. IfcBusi.Dll will now check for incorrect MsqTcpPort configuration (duplicate configuration) and will display a corresponding error in a balloon in case of wrong configuration

  • Added new driver for "Landis & Gyr Monogyr" (LNG)

  • Enhanced PrintOut: added printer routing by WSNum (used for Receipt printing of Chip&Pin drivers)


New in 8.5.2.12

  • TC2 - Corrected format of outgoing message text

  • FIAS - smaller corrections in handling of schema generation based on incoming LinkRecords

  • Database handling - fixed a problem where updates to IGST would fail if the guest's name contained a single quote (like e.g. "O'Hare" )

  • Corrected GuestBillRequest for FinancialAccounts

  • Added new M27 driver for "Golf Pro by Visual One" (M27_GPV)


New in 8.5.2.13

  • New Parameter: YAL_WaitForOperatorTimeout

    • Values: '0' don't wait

    • '3' default timeout waiting after KeyAnswer

    • '30' max. timeout waiting after KeyAnswer

  • Added new FIAS driver for "PMT ParkPay" (FIAS_PPP)

  • Added new driver for "Fujitsu 9600/FETEX 6xx" (F96)

  • LinkLogic: smaller corrections

  • DatabaseReconnect: smaller corrections

  • FIAS - Added sorting of schemas for PostListItem (PL) like "RN|G#|GN..."


New in 8.5.2.14

  • CC9 - corrected a problem in processing of record type 950 (was only working for PayOnly)

  • Added new driver for "Manison Multiline - EFT Finland" (MNS)

  • GuestBillRequest_I: added Date & Time in GuestBillBalance (RootElement) -> this applies to all drivers using BillView

  • Added new FIAS driver for "Leadtech VOD Interface System" (FIAS_LTV)

  • LDG - added configurable delay timer for DB-Swap records (was hardcoded to 1 sec in IFC7)


New in 8.5.2.15

  • CC9 - Smaller corrections

  • N24 - added missing GuestLanguage to schemas

  • Added new M27-driver for "Dino - ETC POS" (M27_DIN)

  • SAU - Now sending record type "4" at C/O


New in 8.5.2.16

  • Added new driver for "Telecenter - Version 3.2" (TC3)

  • Added new FIAS driver for "ALFH Hotel Cardlock System" (FIAS_ALF)

  • Added new FIAS driver for "Seito POS" (FIAS_SEI)

  • Key & Posting Logic - Preparation for Profile-Based Keys & Postings (Suite8 only)

  • Added new driver for "PC-Cash twin" (PCT)


New in 8.5.2.17

  • PCT - Smaller corrections found during the initial testing

  • Added new Comm-Layer "CommEx" to enhance the available number of com-ports. - NOTE: This class has NOT been thoroughly tested yet !!

  • Added new driver for "Enterprise CS - Iwatsu Voice Network" (IWA)

  • MNS - Added support for record type "200" (Authorizations)

  • MNS: added parameter for CardType assignment

  • MST - added possibility to send KeyDelete with immediate flag


New in 8.5.2.18

  • EMAIL Module - Added option to run a batch in case of an error (Note: See the new documentation on Emailing!)

  • PCT - New format of posting record: all subtotals are sent in one posting record

  • PCT - Added WsNum to all schemas to allow routing between multiple IFC-Objects

  • PCT - Allowed CheckState="N" with Com-layer "TCP/S" (so that IFC8 does not re-init at every re-connect of the respective PC-Cash workstations. NOTE: This is ONLY possible with FKT=PCT.)

  • Added new FIAS driver for "Travelnet Residence" (FIAS_TRR)

  • Added new M27 driver for "Tillypad POS" (M27_TIY)

  • Modified incoming RoomEquipment: enhanced Monitor-Output, if destination was not found in IRMS/IGST

  • MST - Added option to define startposition for KeyOptions

    • - New Parameter: MST_KeyOptions_StartPosition, possible values: '11', '16', '17'


New in 8.5.2.19

  • FIAS - Do not send empty BillItem record, if BalanceAmount="0.00"

  • MNS - use transaction code 100/109 for CpAuthor/CpSettl

  • MNS- deny topup authorizations

  • All protocol classes where "ACK" is used: corrected a problem where a DeadLock situation could happen, if a vendor keeps sending records without waiting for IFC8's ACK (= if a vendor violates protocol)

  • Added new FIAS driver for "Customer eXperience System" (FIAS_CXP)

  • Added new FIAS driver for "Siemens Media4Suite" (FIAS_SM4)


New in 8.5.2.20

  • MNS - Put Reservation-ID into ReceiptID in all records instead of the sequence number

  • MNS - Send Track2 field in "109"-record and fill with "cardnumber=MMYY" (hardcoded "=" between number and expy-date)

  • MNS - Print receipt data from "100"-record (CpAuthor)

  • MNS - MNS: changed default port to 7777

  • MNS - Changed negative response to Tup-Up attempts to include the currently authorized amount

  • CC9 - Send CardType in CpAuthor response

  • Added new FIAS driver for "CallTel Saloma" (FIAS_CTO)

  • Added new FIAS driver for "Digital Guest Services" (FIAS_DGS)

  • Suite8 - Corrected a problem in the posting routine: DC-selection by PostRoute was not possible any more (since 8.4.5.0)

  • All protocol classes - enhancements to avoid deadlock situations


New in 8.5.2.21

  • Added new driver for "Ericsson MD 110 - HotelHA Gateway" (M1G)

  • Multi-Property: enhancements to support long time-frames, which OPERA needs to return LinkPmsConf records

  • Multiproperty: defined "LA_TimeOut" property as global parameter for all drivers. Define a timeout of maximum 10 secs. to wait for LinkPmsConf and LinkAlive from the respective PMS.

  • FIAS - Added default LinkRecords (GI/GO/PS/PA) if InlineSchema is set to "Y" but no schemas are defined


New in 8.5.2.22

  • PCT - Added support for Cash&Creditcard postings (added payment-method field)

  • Startup: IFC8 will now ask if you want to create a DB-object, if it finds an Oracle client installed and will not default to "Yes" any more. This was done for updates of IFC7W on the same machine.

  • UNI - correction in the send-queue, if "SendAck" is enabled

  • Added new FIAS driver for "Arpon Win Pos" (FIAS_AWP)

  • Added new FIAS driver for "E.p.H.y.R. Pos" (FIAS_EHR)

  • M18 - corrected wrong protocol-behavior in case of NACK


New in 8.5.2.23

  • COM: detection & special handling of ByteMode of software-drivers (Equinox and Digi etc)

Extra handling was added for incorrect Com-initialization of DIGI and Equinox Software

  • Added new UNI-Driver for "Global News Network" (UNI_GNN)

  • Added new FIAS-Driver for "SLIT - Web Hotel" (FIAS_SLI)

  • Added new FIAS-Driver for "Stream Vision AMS Hotel Interactive" (FIAS_SVA)

  • Added new FIAS-Driver for "Kodos Key Card System" (FIAS_KKC)

  • Added new FIAS-Driver for "KXCompTrol ZLT" (FIAS_KXC)

  • Added new FIAS-Driver for "eGest - Eelectron" (FIAS_EGE)

  • SIM - Corrected default schemas for CcCourtesy

  • Added new FIAS-Driver for "GestHotel - Omnitec" (FIAS_GEH)

  • Added new driver for "VDE elettronica" (VDE)

  • M2K - Changed default for BMP_AnswerENQWithNAK" from 1 to 0

  • IfcBusi - Corrected a problem, where Action where not logged under MessageLevel3 on english OS (Problem with millisecond separator on english OS)

  • DIB - Enhanced ClearText definitions to reflect different denial reasons


New in 8.5.2.24

  • Added new UNI-Driver for "CallTracer Pro" (UNI_CTP)

  • INF - Corrected a problem with handling of GuestShareflagOld = "O"

  • TC2 - Corrected a problem with handling of GuestShareflagOld = "O"

  • TC3 - Corrected a problem with handling of GuestShareflagOld = "O"

  • LAS - Corrected a problem with handling of GuestShareflagOld = "O"

  • M1G - Corrected a problem with handling of GuestShareflagOld = "O"

  • TIG - Corrected a problem with handling of GuestShareflagOld = "O"

  • TC3 - added 5 extra DefRef fields to GuestIn:

    • DefRef1 - state code (C 3)

    • DefRef2 - country code (C 3)

    • DefRef3 - birthday (C 8)

    • DefRef4 - guest contact number (C 20)

    • DefRef5 - guest contact number, business (C 20)

  • CC9 - CpAuthor/CpSettl/CpPayOnly added CardType as sent by 3C

  • CC9 - PrintReceipt: corrected a problem in line number extraction and enhanced the general formatting of receipts

  • M87POS - Added field for Reservation-Number to PostAnswer (Suite8 only)


New in 8.5.2.25

  • SLV - Added missing protocol option LLC_SLVCDR for Layer2 (was missing since 8.5.2.22)

  • Added new driver for "Tecnoel" (TEC)

  • Added new FIAS driver for "GolfWare Resortcard" (FIAS_GWR)

  • Added new parameter="PollEvents" for Commlayer "COM"

This parameter is for problematic installations with Equinox/Digi boxes ONLY !!!

Logic: set parameter to "0" - functionality turned off. Other values (e.g. '200') define a millisecond timer which IFC8 will use to check the incomming comm-buffer for messages which have arrived, but for which no event has been fired yet.

Extra logging has been added with loglevel 4 to show fired events and to show the buffer polling


New in 8.5.2.26

  • OPERA/XML/FIAS - Added RequestType "2048" to LinkDescription and Defref10 to LinkPmsConf to pass HotelName to IFC (So that the Hotelname is visible in the IFC-Logfiles) - Requires changes in OPERA

  • Add new language codes for China: 'Z1' & 'Z2'. These values are Non-ISO language codes, but are necessary for the local needs.

    • ZH = Simplified Chinese/Mandarin

    • Z1 = Traditional Chinese/Cantonese

    • Z2 = Traditional Chinese/Mandarin

  • Added new driver for "NEC HCS - Message System" (NHC)

  • CC9 - PrintReceipt: corrected a problem with PrintFlag LF and <blank> lines

  • M87POS - FO_87_VERSION: added Revision to version-number as passed to Micros system

  • Added new FIAS driver for "S3 POS - sysTeam GmbH" (FIAS_S3P)

  • TC3 - Added support for Record 002 - "Request Database update record"

  • TC3 - GuestMess/GuestMessDelete: check for voice mail attribute in RequestType from PMS

  • OPERA: added further UTF-8 support via Config.Xml parameter="Enable_UTF8" (default=Off)

  • Internal handling of messages: Added logic to separate between voicemail-messages and text-messages

  • FIAS - Added ability to translate ISO-languages from the PMS to other ISO/FIAS languages for the vendor system (default=Off)

  • Corrections to message handling:

    • IfcBusi.Dll - MessageLightNotification from Guestmessage (opposed to MessageLightChanges from the submenu): If Messagelight is inactive in ICFG but active in IRMS: RoomEquipment was sent, but is not sent any more from this version on

    • IFC8 - MessageLightNotification from IFC-Submenu: If Messagelight is inactive in ICFG but active in IRMS: RoomEquipment was sent, but is not sent any more from this version on

  • M27 - PostInquiry: added SalesOutlet and PaymentMethod for names-Postings (= record where this info is provided from the POS system)


New in 8.5.2.27

  • The component which is used with Com-Layer "ComEx" has been replaced in this IFC-version to allow installations on Windows 2003 Server. (See documentation)

  • CC9 - Corrected formatting of amount fields in DCC records

  • CC9 - CpPayOnly: added config parameter for DDC option flag (OD1)

  • N24 - Smaller corrections in Lowlevel driver (could lead to situations where ENQ was responded to with NACK)


New in 8.5.2.28

  • Added new FIAS driver for "Webconnection" (FIAS_WCN)

  • Added new M27 driver for "XN Hotels DOTPOS" (M27_XHD)

  • Add error-handing for incorrect handling of in-buffer from Equinox/Digi drivers (the software does not always allow IFC to access the in-buffer leading to a runtime error "Runtime Error 8021: Internal error retrieving device control block for the port" )

  • Logfile: increased Minimum length: 1.000-->50.000, decrease Maximum Length: 20.000.000-->5.000.000

  • Logfile: Corrected a problem where IFC8 would not start any more, if a logfile was corrupted. (= manually edited)

  • MST - Added parameter to activate functionality for very old Messerschmidt systems which are unable to provide a KeyAnswer record.

  • LinkDescription <-> LinkPmsConf: fixed "Type mismatch"-Error (since V5.1.0) in Received-Routine if DefRef9 is requested and PrinterImdex >-1. (internal routines, no effect on vendor systems)

  • VC3/VCT: Added parameter to set System-time in KeyRequest or "00:00" as value for the D-field (Start-Time)

  • Startup: As of this version you may see the following upon IFC8 startup:

Until now IFC8 would display a blank screen while loading extremely large logfiles. We have added the above message so that the user can see what IFC8 does, while it sometimes takes long to start.


New in 8.5.2.29

  • Added new driver for "Manison Multiline - Courtesy System" (MNC)

  • CSB - enhanced logic of PostType so that PostType is set according to the transferred values from CallStar


New in 8.5.2.30

  • SLK - Corrected position of KeyOptions in KeyRequest record

  • AD9/CME/FDS/GTF/NC1/PIT/SH1/RC2/SQL - Added Path-ID to PostAnswer to allow Multiproperty installations.

  • SQL -Added option to use extension or room number for inquiries

  • Added new driver for "Philips Win-EAI" (EAI)

  • Added new driver for "Servitron" (SVT)

  • Added new driver for "Callstream/ImageStream VOICELINC" (CCI)

  • Suite8 (as of version 8.7): added support for Locator functions

  • FIAS - added support for Locator functions

  • Logfile handling: IFC8 will now refuse to load too long logfiles

  • M87 - Removed unused PathId from PostRequest schema

  • SAU - RoomEquipment: added support for record type "4" and "5"

  • SAU - GuestIn: corerected problem in reading of ClassofService

  • SAU - GuestOut: added option to send record type "0" and/or "4"

  • FIAS Configuration: show already configured LanguageCode-"Lang_??" items


New in 8.5.2.31

  • Added new FIAS driver for "Kaba Exos Legic Switzerland" (FIAS_KEL)

  • Added new FIAS driver for "INTEGRA - American Auto-Matrix" (FIAS_IAU)

  • Added new FIAS driver for "InnFOR System" (FIAS_IFR)

  • Added new FIAS driver for "POWERGOLF and POWERCLUB" (FIAS_PWR)

  • A44 - Enhanced minibar-record to allow a setup where Alcatel sends 4 digits access codes

  • A44 - corrected offset in incoming records in case of 8-digit extensions

  • Locator-Logic - smaller corrections

  • M2K - Changed name display to the fixed format "Lastname, FirstName", use Title if Firstname is not supplied

  • NHC - Added support for GuestNum/RoomNum in MessageDelete record

  • TC3 - Increased maximum text message length to 999 characters

  • Added new generic POS driver: "MICROS-Fidelio generic XML POS" (XML_POS)

  • M27_MTP - Added TCP support


New in 8.5.2.32

  • FIAS - Corrections in LinkRecord handling for Locators

  • XML_POS - Enhanced errorhandling for incorrect vendor-records

  • NHC -GuestMessDelete: changed RoomNum/GuestNum offsets

  • Suite8: Corrected KeyRequest handling for PreChekIn-Keys in case there is a Guest still in the Room while the new key is created


New in 8.5.2.33

  • Added new driver for "NEC - UNIVERGE 7000" (N2I)

  • Various enhancements to DB-Swap behavior

  • Smaller corrections to Profile based Key-Handling (Suite8 only)


New in 8.5.2.34

  • Smaller corrections to DB-Swap with Virtual Numbers (Suite8)

  • DIB - Use track2 date separator as sent by PMS

  • Added new FIAS driver for "High Connect 2" (FIAS_HH2)

  • Added new FIAS driver for "NASA Call Accounting" (FIAS_NAS)

  • Added new FIAS driver for "Tecnhotel POS" (FIAS_TCN)

  • Added new FIAS driver for "HotelNET KraftCom" (FIAS_HNK)

  • Added new FIAS driver for "KOR*POS - Point of sale" (FIAS_KOP)


New in 8.5.2.35

  • NI2 - Changed defaults for Low-Level

  • CCC - Removed AuditTrialNum from CcSettl_O schema

  • TLP - keep leading/trailing blanks in ClearText (PP field)

  • VC3/VCT - added option to send PrintField (I-field)

  • NHC - corrected a problem in heartbeat reply - heartbeat record from the NEC system was not recognized and subsequently not responded to

  • ATD - removed [FF] character from outgoing roomequipment record. Null-characters was sent right before the actual status field.


New in 8.5.2.36

  • HT24 - Added Auto-Deny option

  • NHC - added DefRef fields in GuestIn and GuestDataChange to support additional guest information fields

  • NHC - Now sending additional "Add guest" record with empty RoomNum at checkout

  • SLB - Added debug logging for ignored postings


New in 8.5.2.37

  • TLP - added option for KeyCount usage

  • NHC - added times to stop/suspend communication if no heartbeat is received

  • NHC - DB swap request: added RequestType for C/O (C/O is now requested from OPERA, but record can only be send to NEC if GuestNum is filled in the C/O records from OPERA)


New in 8.5.2.38

  • MNC - smaller corrections to the request record layout

  • NHC - Corrected handling of message-records. IFC8 was waiting for High-Level Acknowledges incorrectly.

  • NHC - Add further DefRef fields in C/I record for comment fields.

DefRef definiton:

DefRef1 Street1

DefRef2 Street2

DefRef3 City

DefRef4 State

DefRef5 Zip

DefRef6 Country

DefRef7 Company

DefRef8 Comment1

DefRef9 Comment2

DefRef10 Comment3

DefRef11 Comment4

  • Business Logic: Added core logic to support the following attributes in C/O records (possibly not during DB-Swap.):

    • GuestArrival As Variant

    • GuestDeparture As Variant

    • GuestFirstname As Variant

    • GuestGroupNum As Variant

    • GuestLanguage As Variant

    • GuestTitle As Variant

    • GuestVip As Variant

  • NHC - enhanced C/O record so that now all fields can be populated in the same way as during C/I


New in 8.5.2.39

  • MNS - removed timeout limitations of max. 60 s

  • NHC - Removed DefRef9-11 for comments and fill all 4 comment fields from DefRef8 now (split after 40 chars)

  • MNS - Added masking of CC-Details in response records from Manison

  • NHC - added DefRef9 for NRG field

  • M87 - added second double posting check, which ignores sequence number. This check will write a corresponding entry to the logfile but will not ignore the posting as such. (i.e. the posting would still be passed to the PMS)

  • MNS - modified printout routine: removed extra Line-Feeds

  • Added new Icon for Minibar-Systems

  • BOC - use "=" as date separator for track 2 (like Ifc7)

  • NWS - use "=" as date separator for track 2 (like Ifc7)

  • LDG - Added AnswerStatus to GuestBillbalance (applies as well to: CBC, CCI, DHS, GAS, GSV, LDG, M87POS, MEN, MOV, OCV, Prodac, TC2, TC3, TGL, VDE)

  • Added new M27 driver for "FORTUNE POS - IDS SOFTWARE" (M27_FRT)

  • Added new M27 driver for "Comtrex - M27 Option" (M27_CMM)

  • Added new FIAS driver for "XPossible Hotel Connect" (FIAS_XPO)

  • Added new FIAS driver for "MEGANET - ITC Srl" (FIAS_MGI)

  • Added new FIAS driver for "Macnetix IPTV-HD" (FIAS_MCN)

  • Added new FIAS driver for "BRS Cashless Management System" (FIAS_BRS)

  • EFT - Added crypting routines for Receipts

  • V8 POS-postinglogic: default to Paymentmethod=RoomPayment method if PaymentMethod is set in schema but not transferred by the POS system. (This was resulting in GuestName not being populated in PostAnswer)


New in 8.5.2.40

  • CKS - KeyOptions: leading blanks are no longer removed

  • M87 - Added second double-posting check, which ignores the Micros-Sequence-Number (optional) - see related documentation


New in 8.5.2.41


What's new in 8.5.3.x ?

  • VC1/VC2/VC3 - Removed ability to use TCP as communication layer. (For TCP connections use: FKT=VCT)

  • Added new printer concept for EFT-receipts (PIN-Pads)

  • IDRF Config: Added V8_REP_GUEST_RECOGNITION-view for detailed profile information

  • Printing: Introduced ability to print and re-print EFT-receipts and other data from IFC8 & from IfcBusi.Dll. See documentation.

NOTE: It is IMPERATIVE to use IfcBusi 8.5.3.0 when using Ifc8.Exe version 8.5.3.0 !!

  • MNE - added option to send Reservation-ID and message-ID fields with 10 character length

  • M27 - added option to support 9-digit WsNum field

  • M27 - added extended inquiry option for sharer

  • COR - don't send DND/MSGW during DB-swaps (Added for OPERA version which always send RoomEquipment regardless of the RequestType which was set in DataResync)

  • Toolstips: smaller modifications as sometimes the wrong FKT-Logo was displayed

  • Added new FIS driver for "Tiger Hotel Pro" (FIAS_TIH)

  • Added new FIS driver for "XN Hotel In-Room Entertainment System" (FIAS_XNH)

  • Added new FIS driver for "Niagara AX" (FIAS_NIA)


New in 8.5.3.1

  • Added new driver for "Alcatel 4300L (OPUS 4000)" (A4L)

  • Inquiry: Corrected a situation where Inquiries with RequestType="4" were searching through guestnames too

  • FIAS - added validation check for VerNum(V#). The vendor version will now be replaced with internal driver version if the value is missing or exceeding 10 characters

  • FIAS - Corrected a problem were linkrecords for RoomEquipment (RE) did not generate an RoomEquipment_I schema any more. (Since 8.5.2.39)

  • XML_MFPOS_EFT: modifications for new handling to support a single TCP-Port for multiple connects


New in 8.5.3.2

  • Added new driver for "Uniqey" (UQY)

  • Added new driver for "RIS 2000 Hotel System Link" (RIS)

  • Added new M27-driver for "Vending Genie - Hospitality" (M27_VGH)

  • Added new FIAS driver for "Trifecta Micros-Fidelio Interface" (FIAS_TFC)

  • CSB - added option to post Minibarpostings by charge

  • CSB - corrected wrong tool-tips for Minibar parameter

  • CC9 - C&P replies: corrected a rpoblem with missing characters in GuestNum

  • All SPDs: added TVRights4 - TVRights9

  • M27 - corrected a problem in check of UmlauteFlag - Posting to guests with an Umlaut in their name was not possible

  • CAX - "CpAuthor": changed transformation of StartDate from "yymmdd" to "mmyy" as OPERA and V8 are not prepared for a 6-character StartDate

  • FIAS - "CpAuthor" ($A): changed transformation of StartDate from "yymmdd" to "mmyy" as OPERA and V8 are not prepared for a 6-character StartDate

  • Configuration: Added automatic insert of specific IDRF or IERR entries, based on FKT-Logo.

IFC8 will now automatically fill IERR or IDRF with defaults once the respective tables is opened in the configuration tab. This functionality is based on the specific needs per FKT_LOGO and has by now been added for the FKT_LOGOs "M87POS" and 'Spectradynes' only. Further scripts will follow at a later stage.

IFC8 will now automatically provide the available defaults in case no record has yet been setup for IERR:

IDRF defaults will be added without further notification, if no record for this interface exists:

  • IDRF Configuration: Added new option "IDRF Check" where the results of your configuration can be viewed right away:


New in 8.5.3.3

  • PPC - removed unsupported GuestBillOnline from Schema definitions

  • IfcBusi -Enhanced errorhandling: PMS can now capture an error while trying to load IfcBusi.Dll when Crypting components could not be found

  • Added new Sientific Atlanta Driver for "WiSuite Energy Management System" (SAE_WSU)

  • M2K - don't send CHK1 in addition to NAM2 in case of a name change


New in 8.5.3.4

  • IfcBusi - Corrected a problem where IfcBusi would not load if printers without tray definitions where found on the PC (typically happening with Fax-printers)

  • MF-POS-EFT - Added version checking


New in 8.5.3.5

  • Added new driver for "Bosch Telecom Tenodat Unipro for 33x" (TNU)

  • MNC - send ReceiptId="0" if GuestNum is not suppliedby OPERA

  • Suite8-Posting: Store Track2-info as posting reference in case the inquiry was done through Track2-atribute and not through PostInformation (mostly applies to FIAS)

  • IDRF Config: Further enhancements: 'Where conditions' can now be selected and don't need to be added manually any more. Crosslinks between view can be selected now


New in 8.5.3.6

  • FIAS - Do not send A4 and A5 fields in LC record, if not requested by external system.

  • M87 - added locator functionality

  • M87 - added message functionality

  • SLK/SL6 - added support for track 4 (ClearText)


New in 8.5.3.7

  • UNI - added option to remove all non-numeric characters from the DialedDigits attribute (necessary in case CAS should be used)

  • Added new FIAS driver for "Philips Controls Interface" (FIAS_PCI)

  • Added new FIAS driver for "onDemand - Spectrum Visual Networks" (FIAS_ODM)

  • Added new FIAS driver for "Barcomp Hi-Tech Server" (FIAS_BCH)

  • Added new FIAS driver for "Winkey-ServiceEAC" (FIAS_WSE)

  • Added new FIAS driver for "NEC - PMSU" (FIAS_NCP)

  • Added new FIAS driver for "Acentic Entertainment System" (FIAS_ACN)

  • FIAS_CBS - removed support for TCP

  • Added new M27 driver for "Easy Cashing" (M27_ECG)

  • V8_IFC-Views - IFC8 will now create V8_IFC_RESERVATIONSEARCH-view (etc) automatically with their current version during an update or when started with +V option

  • Configuration: Further enhancements to automatic database-setup based on FKT-Logo and Schemas

  • V8 Posting: provide SalesOutlet to Posting-API so that statistics based on Outlet can be done in V8 (available as of Suite8-version 8.7.2.0)

  • IGL - added supervisor and maintenance functionality

  • ABC - optimized driver: IFC was using unnecessarily much CPU, while waiting for ABC to start

  • M87POS - Smaller corrections in message handling

  • Suite8-Multi-Property: Corrected a problem where IFC8 would not load all PMS-objects if for one of them the configured Oracle-Connection was not available

  • Corrected LicenseChecking: PostingSimple<->EnhancedPosting. Licenses were not processed propperly

  • POS: Enhanced error-conditions to better signal to a POS why a posting had failed.


New in 8.5.3.8

  • IGL - Smaller corrections to Admin-functions

  • MNC - use Manison 'UsageMethod' field for card type selection

  • MNC - added masking to fields containing receipt information

  • M87POS - further corrections to Message and Locator handling

  • M87POS - Changed default insert scripts (Suite8) - It is recommended to remove the current default config and use the new one. (Of course do not replace custom configuration.)

  • Licensing: Removed 'functionality-license' checking for Micros and MF-POS drivers. For these you only need to have the FKT-License from this version on. (Necessary as PostingSimple-License is not free for Micros but necessary to run the interface.)

  • PostingRoutine (Suite8): IFC will now deny POS-inquiries if the inquiry contains a not-configured Paymentmethod


New in 8.5.3.9

  • MIA - Corrected calculation of Start-Date (valid-from date)

  • CC9 - Added TerminalID (KeyCoder) to: 9200 Auth, 9300 TopUpAuth, 9310 AuthReversal and 9400 Completion

  • CC9 - Made timeout for alive records configurable (

CC9_SendAliveRecord:

      • '0' alive record disabled

      • '1' - '3600' timeout in seconds (default: 180)

  • CC9 - Added masking for security relevant details in the receipt

  • Configuration-Forms: reduced CPU usage while waiting on a change

  • V8_IFC_ZFAC_ID-view: added newly configured paymasters which have never been checked in and currently checked out paymasters.

  • FIAS: Added new config value: DataResyncOption=2 (ignore incoming DB-Swap Request first 60 seconds after LA)

  • Added new PMS-Object driver "PROTEL" (Resort Fleesensee only!)

Current view (view is automatically updated by IFC8.5.3.9 upon first start):

CREATE OR REPLACE VIEW V8_IFC_ZFAC_ID

AS

SELECT

ZFAC_ID DEST_ID,

TO_CHAR(ZFAC_AUTONUMBER) DEST_DESCRIPTION,

ZFAC_LONGDESC DEST_LONGDESC,

1 DEST_TYPE,

DECODE(ZFAC_ACTVALIDUNTILNULL+ZFAC_ACTVALIDFROMNULL,1,1,4) STATUS,

NVL(ZFAG_TYPE,99) ZFAG_TYPE

FROM ZFAC, ZFAG

WHERE ZFAC_ACTVALIDUNTILNULL+ZFAC_ACTVALIDFROMNULL>0

AND NOT ZFAC_AUTONUMBER IS NULL

AND ZFAC_ZFAG_ID=ZFAG_ID

AND NVL(ZFAG_TYPE,99) NOT IN (1,2,3,4,6,8)

UNION

SELECT DISTINCT

ZFAC_ID DEST_ID,

ZFAN_LONGDESC DEST_DESCRIPTION,

ZFAC_LONGDESC DEST_LONGDESC,

1 DEST_TYPE,

1 STATUS,

NVL(ZFAG_TYPE,99) ZFAG_TYPE

FROM ZFAN, ZFAC, ZFAG

WHERE ZFAN_ID=ZFAC_ZFAN_ID

AND ZFAC_ACTVALIDFROMNULL=0 AND ZFAC_ACTVALIDUNTILNULL=1

AND LOWER(ZFAN_LONGDESC)=UPPER(ZFAN_LONGDESC)

AND ZFAN_ZFAG_ID=ZFAG_ID

AND NVL(ZFAG_TYPE,99) NOT IN (1,2,3,4,6,8)

UNION

SELECT DISTINCT

ZFAC_ID DEST_ID,

ZFAN_LONGDESC DEST_DESCRIPTION,

ZFAC_LONGDESC DEST_LONGDESC,

1 DEST_TYPE,

4 STATUS,

NVL(ZFAG_TYPE,99) ZFAG_TYPE

FROM ZFAN, ZFAC, ZFAG

WHERE ZFAN_ID = ZFAC_ZFAN_ID

AND ZFAC_ACTVALIDFROMNULL=1 AND ZFAC_ACTVALIDUNTILNULL=1

AND LOWER(ZFAN_LONGDESC)=UPPER(ZFAN_LONGDESC)

AND ZFAN_ZFAG_ID=ZFAG_ID

AND NVL(ZFAG_TYPE,99) NOT IN (1,2,3,4,6,8)

UNION

SELECT DISTINCT

TO_NUMBER(ZFAN_LONGDESC) DEST_ID,

ZFAN_LONGDESC DEST_DESCRIPTION,

ZFAN_LONGDESC DEST_LONGDESC,

2 DEST_TYPE,

0 STATUS,

NVL(ZFAG_TYPE,99) ZFAG_TYPE

FROM ZFAN, ZFAG

WHERE LOWER(ZFAN_LONGDESC)=UPPER(ZFAN_LONGDESC)

AND ZFAN_ZFAG_ID=ZFAG_ID

AND NVL(ZFAG_TYPE,99) NOT IN (1,2,3,4,6,8)

AND (SELECT MAX(ZFAC_ZFAN_ID) FROM ZFAC WHERE ZFAC_ZFAN_ID=ZFAN.ZFAN_ID AND ZFAC_ACTVALIDFROMNULL+ZFAC_ACTVALIDUNTILNULL<>0) IS NULL


New in 8.5.3.10

  • Smaller corrections in V8_IFC_ZFAC_ID-View (around Autonumbers)

  • DB-Swap: enhanced Logic around DB-Swap with Text-Messages (RequestType="64")

  • OPERA - Removed RequestType="64" from Default Swap when Vendor has message schemas, leaving only for those, which specifically need it

  • Configuration: don't allow user to close the form while IFC8 waits for a mandatory change.

Current V8_IFDC+ZFAC_ID View:

CREATE OR REPLACE VIEW V8_IFC_ZFAC_ID

AS

SELECT DISTINCT

ZFAC_ID DEST_ID,

ZFAN_LONGDESC DEST_DESCRIPTION,

ZFAC_LONGDESC DEST_LONGDESC,

1 DEST_TYPE,

1 STATUS,

NVL(ZFAG_TYPE,99) ZFAG_TYPE,

0 AUTONUMBER

FROM ZFAN, ZFAC, ZFAG

WHERE ZFAN_ID=ZFAC_ZFAN_ID

AND ZFAC_ACTVALIDFROMNULL=0 AND ZFAC_ACTVALIDUNTILNULL=1

AND LOWER(ZFAN_LONGDESC)=UPPER(ZFAN_LONGDESC)

AND ZFAN_ZFAG_ID=ZFAG_ID

AND NVL(ZFAG_TYPE,99) NOT IN (1,2,3,4,6,8)

UNION

SELECT DISTINCT

ZFAC_ID DEST_ID,

ZFAN_LONGDESC DEST_DESCRIPTION,

ZFAC_LONGDESC DEST_LONGDESC,

1 DEST_TYPE,

4 STATUS,

NVL(ZFAG_TYPE,99) ZFAG_TYPE,

0 AUTONUMBER

FROM ZFAN, ZFAC, ZFAG

WHERE ZFAN_ID = ZFAC_ZFAN_ID

AND ZFAC_ACTVALIDFROMNULL=1 AND ZFAC_ACTVALIDUNTILNULL=1

AND LOWER(ZFAN_LONGDESC)=UPPER(ZFAN_LONGDESC)

AND ZFAN_ZFAG_ID=ZFAG_ID

AND NVL(ZFAG_TYPE,99) NOT IN (1,2,3,4,6,8)

UNION

SELECT DISTINCT

DECODE (ZFAC_ID, NULL, TO_NUMBER (ZFAN_LONGDESC), ZFAC_ID) DEST_ID,

ZFAN_LONGDESC DEST_DESCRIPTION,

DECODE (ZFAC_ID, NULL, ZFAN_LONGDESC, ZFAC_LONGDESC) DEST_LONGDESC,

DECODE (ZFAC_ID, NULL, 2, 1) DEST_TYPE,

0 STATUS,

NVL(ZFAG_TYPE,99) ZFAG_TYPE,

0 AUTONUMBER

FROM ZFAN, ZFAC, ZFAG

WHERE ZFAN_ID = ZFAC_ZFAN_ID(+)

AND ZFAC_ACTVALIDFROMNULL(+)=0 AND ZFAC_ACTVALIDUNTILNULL(+)=0

AND LOWER(ZFAN_LONGDESC)=UPPER(ZFAN_LONGDESC)

AND ZFAN_ZFAG_ID=ZFAG_ID

AND NVL(ZFAG_TYPE,99) NOT IN (1,2,3,4,6,8)

AND DECODE(ZFAC_ID, NULL, SYSDATE, ZFAC_ACTVALIDUNTIL)=DECODE(ZFAC_ID, NULL, SYSDATE, (SELECT MAX(LASTZFAC.ZFAC_ACTVALIDUNTIL) FROM ZFAC LASTZFAC WHERE LASTZFAC.ZFAC_ZFAN_ID=ZFAN.ZFAN_ID))

AND (SELECT MAX(ZFAC_ZFAN_ID) FROM ZFAC WHERE ZFAC_ZFAN_ID=ZFAN.ZFAN_ID AND ZFAC_ACTVALIDFROMNULL+ZFAC_ACTVALIDUNTILNULL<>0) IS NULL

UNION

SELECT

ZFAC_ID DEST_ID,

TO_CHAR(ZFAC_AUTONUMBER) DEST_DESCRIPTION,

ZFAC_LONGDESC DEST_LONGDESC,

1 DEST_TYPE,

DECODE(ZFAC_ACTVALIDUNTILNULL+ZFAC_ACTVALIDFROMNULL,1,1,4) STATUS,

NVL(ZFAG_TYPE,99) ZFAG_TYPE,

1 AUTONUMBER

FROM ZFAC, ZFAG

WHERE ZFAC_ACTVALIDUNTILNULL+ZFAC_ACTVALIDFROMNULL>0

AND NOT ZFAC_AUTONUMBER IS NULL

AND ZFAC_ZFAG_ID=ZFAG_ID

AND NVL(ZFAG_TYPE,99) NOT IN (1,2,3,4,6,8)

ORDER BY AUTONUMBER


New in 8.5.3.11

  • IGL - Correction of smaller items as found during testing

  • TLP - added GuestShareflag to KeyRequest and KeydataChange schemas, removed GuestShareflag from KeyDelete schema

(This is an interim solution until it is clarified why Timelox ignores the Reservation-ID which is passed in the records.)

  • MIA - Added KeyCount to KeyRequest schema


New in 8.5.3.12

  • MIA - Corrected a problem where the driver ignored KeyCount as sent from PMS

  • Added new driver for "Squirrel POS V.3" (SQ3)

  • Added new driver for "NEC KTS-i PMS" (NKT)

  • Added new FIAS driver for "Sysnet POS" (FIAS_SYS)

  • Added new FIAS driver for "L-98KRF-32D - Stanley Technology" (FIAS_L98)

  • VCT Configuration: VCT_Mode: swaped values and order

  • CSB - send additional bar record for checkins with ClassofService="0" (NoPost)

  • RIS - added workaround for NoPost flag from opera (Y/N instead of 1/0)

  • VCT - the following changes have NOT been tested yet and may not be installed at this point.

    • added option to send HotelID (B)

    • added support for KeyRead-Action

    • added support for RFID card handling


What's new in 8.5.4.x ?

  • Key-Businesslogic: Changes and preparation for Suite-handling (not yet implemented to Suite8 or OPERA)

  • M87 - Corrected a typo in the dynamic insert script for IDRF values

  • M2K - added option to send lastname,firstname without a blank after the ','

  • ROB: added parameter ROB_RoomNum_Length (valid values: 4...9)

  • Added new FIAS driver for "Ardan Control-Tech LTD" (FIAS_ARD)


New in 8.5.4.1

  • M87 - Corrected a problem where postings could be denied if a guest had a message (incorrect parsing of the name-field in PostRequest)

  • Simulation: Corrected handling of date-Fields (where defaulting to YYMM instead of YYMMDD)

  • Terminal Services: Added Notification Pop-Up which alerts the user if IFC8 is started in a non-Console session (should never happen)

  • IGL - added support for codepages

  • IGL - return special error text for status 98/99

  • IGL - enabled printout for several requests (e.g. period open/close)

  • IGL - added support for printing of two separate receipts within one transaction

  • MIA - removed unused Track2 from KeyAnswer schema

  • TLP - corrected a problem where the Joiner-Flag (JR-field) was sent in One-Shot-Key actions, if GuestShareFlag was not passed to IFC8 from the PMS

  • Added new FIAS driver for "Optima SPA" (FIAS_OSP)

  • Added new FIAS driver for "Virtual Salon" (FIAS_VTS)


New in 8.5.4.2

  • FIAS - Added validity check for DA and TI fields in all Link-related records

  • VC2 - corrected handling of encoder IDs with leading zeros (KeyAnswer was not recognized)

  • M87 - added defaults for Italian, Spanish, Portuguese & Dutch error-messages (Suite8 only)


New in 8.5.4.3

  • YAL - Added logic for response codes "X", "Y" & "Z"

  • Default Workstation Routing: Corrected a problem where setting up the "No Process" feature (i.e. don't execute command if no valid routing is found) lead to an error 'invalid use of null'. (Found with MNS)

  • VC3/VCT - Added support for P-field (PMS User-ID)

  • Further enhancements to Key-Business logic in preparation for Suite-handling


New in 8.5.4.4

  • MNC - Corrected order of YYMM in Expydate

  • MNS/MNC - Smaller correction to handling of UTF-8 encoding

  • TLP - Added support for roomstatus records

  • CCC - Fix for deadlock situations during NightAuditStart/End records

  • CC9 - Correction for amount handling with refunds

  • NC1 - Added WsNum support to PostInquiry, PostAnswer, PostList

  • NC1 - Added PostInformation support to PostRequest (bug in multi hotel environment)

  • NC1 - Added payment method "ROOM" for Room-postings if NC1_RoomPaymethod is not set (The record from the NEC does not contain a payment method.)

NOTE: This change requires configuration updates for all existing installations during an update of IFC8 !!!

  • Cross-Posting - Enhancements for NC1 to allow a second posting to one inquiry, granting the posting are sent consecutive

  • All drivers: - Added new double-posting concept (see documentation) where filters can now be configured and where the response of the first record is kept. This allows scenarios where a denied posting is denied in the duplication as well

  • XmL_POS - Added new double-posting concept where filters can now be configured and where the response of the first record is kept. This allows scenarios where a denied posting is denied in the duplication as well

  • UNI - Added option to preserve leading zeroes in extensions

  • Added new FIAS driver for "Radiator RADIUS Server" (FIAS_RRA)

  • Added new FIAS driver for "KEYU Card Lock" (FIAS_KYU)


New in 8.5.4.5

  • IfcBusi.Dll - Enhancements to logging in Log-Level='3'

  • Added new driver for "Rolm CBX/AT&T Dimension" (CBX)

  • Added new driver for "Control Transaction CTC System 1000" (CTC)

  • TIG - Corrected a problem with COS handling during Check-In

  • TLP - send KeyCoder instead of WsNum in the last two characters of PP field

  • UNI - added option to read date given in number of days

  • Added new FIAS driver for "IPHotel - Techvision" (FIAS_IPH)

  • Added new FIAS driver for "DasGate FIF" (FIAS_DGA)

  • Added new FIAS driver for "SNGFI - Spectrum NG Fidelio Interface" (FIAS_SNG)

  • Added new FIAS driver for "Korta Service Engine" (FIAS_KSE)

  • Added new FIAS driver for "Unitron UC32" (FIAS_UTU)

  • FIAS_CBS - added support for TCP/IP communication

  • TCP/IP changed Maximum allowed port from 9999 to 65535


New in 8.5.4.6

  • Multi-property - Corrected a problem where PostInquiry would fail with incorrect (or not configured) AddXPost settings

  • Double-Posting check - Corrected a problem in the configuration where "Invalid use of Null" would be displayed when Double-Posting check was disabled

  • Added a new driver for "InnFax, AlphaNet Telecom" (IFX)

  • NKT - added support for charges on a separate port (with 4 digit extension field)

  • PCAS - Corrected invalid SQL-Query during price calculation

  • M87POS_ChecknumberOption: fixed text in tooltip (wrong default was mentioned)


New in 8.5.4.7

  • Added TCP support to existing driver: FIAS_IHS

  • Added new driver for "DPS WinTAP (Data DPS)" (DPS)

  • PPV - changed start sequence number from 0001 to 0000 for the INFO record

  • ITC - changed value of incoming DND from Y/N to 1/0

  • M2K - Added support for RST record to handle COS changes

  • TGL/TGL_xxx - added option to ignore incoming DB-swap request

  • SLV/SLB - Corrected handling of "S" and "E" charge records (Unit amounts where only expected in the E-record)


New in 8.5.4.8

  • Spectradynes - Removed UserId from PostAnswer schema (applies to: CBC, DHS, EMI, FCS, GAS, GSV, LDG, MNE, MOV, OCV, TGL)

  • VISTA - Adopted checking for Remote-Console session for VISTA-API (Base ID in VISTA is '1', where it used to be '0' on W2K/XP/2003-Server)

  • Posting - Corrected handling of Track2 in PostSimple with PostType="E" (Suite8 only)

  • Added new FIAS driver for "OMS – Oppie Management System" (FIAS_OMS)

  • Added new M27 driver for "Retail Pro PMS Link" (M27_RPP)

  • Added new driver for "SMS Vers. 5.x" (SMS)


New in 8.5.4.9

  • Added new driver for "Ericsson ASB/BCS 150" (A15)

  • Added new driver for "NEC APEX 2400" (N2A)

  • Micros-POS - Corrected a problem where inactive records in the Double-Posting queue were counted in the RefNum calculation

  • PostInquiry/PostList - Removed DBS-Error which was displayed if GuestFormattedname was not configured (Suite8 only)

  • A44 - added error messages for missing Equipment attributes in messages from the PMS

  • Spectradynes: PostSimple - removed date/time from posting-schema as it is not supplied by vendor systems

  • MST - added support for Oneshot-keys

  • NKT - removed unused UserID from PostAnswer schema

  • NKT- changed length of extension in charge record from 4 to 8

  • M87POS - added ClearText to GuestBillBalance

  • Added new Informatel-driver for "Meteor Hotel" (INF_MTR)


New in 8.5.4.10

  • Added new FIAS driver for "Ericsson IPTV - Fidelio Integration" (FIAS_EIP)

  • CSB - use UserID instead of SalesOutlet for waiter id from vendor

  • CSB - use SalesOutlet instead of ClearText for posting id from vendor

    • values : 'G' or 'A' guest or admin calls

    • 'T' or 'Z' TV or voice charge

    • 'M' Minibar charge

  • CSB - use global double posting check instead of the prior internal check of parser

  • GDA - TotalAmount field was not properly transformed and was always sent as "0000"

  • A44 - use global double posting check instead of the prior internal check of parser

  • A4L - use global double posting check instead of the prior internal check of parser

  • AOM - use global double posting check instead of the prior internal check of parser

  • DTW - use global double posting check instead of the prior internal check of parser

  • EBP - use global double posting check instead of the prior internal check of parser

  • GFX - use global double posting check instead of the prior internal check of parser

  • INF - use global double posting check instead of the prior internal check of parser

  • M1G - use global double posting check instead of the prior internal check of parser


New in 8.5.4.11

  • MS2 - Removed RST record (was accidentally added when RST was added for M2K)

  • CSB - Added support for article posting with short M-record


New in 8.5.4.12

  • Added new FIAS driver for "Automated Valet Interface System" (FIAS-AUV)

  • Added new FIAS driver for "eZee SPA - Software Interface" (FIAS_EZE)

  • N2S - use global double posting check instead of internal check of parser

  • O18 - use global double posting check instead of internal check of parser

  • PRN - use global double posting check instead of internal check of parser

  • S20 - use global double posting check instead of internal check of parser

  • SCV - use global double posting check instead of internal check of parser

  • SLB - use global double posting check instead of internal check of parser

  • OCV - handle TV rights through GuestdataChange instead of RoomEquipment (Necessary for OPERA as OPERA can not currently handle an extra RoomEquipment during changes to inhouse reservation.)


New in 8.5.4.13

  • CC9 - added support for guestnames in NT field for all outgoing Chip&PIN commands

  • CBC/DHS/GAS/GSV/LDG/MOV/TGL removed unused data from PostNum attribute

  • TIG - use global double posting check instead of internal check of parser

  • UNI - use global double posting check instead of internal check of parser

  • FIAS - raise an Error if invalid (non ISO) GuestLanguage configuration in Config.Xml is found. (Error is shown when a record containing GL should be sent.)

  • FCS - added support for suite 2 field in record 37

  • FCS - keep leading zeros in RoomNum of incoming records

  • FCS - MessageDelete: read message ID from a different position (Reservation-ID is no longer sent by FCS)


New 8.5.4.14

New in 8.5.4.14

  • RC2 - Added support for missing Remanco versions and corrected splitting of tax-itemizers

  • FIAS - Add new flag where functionality can be enable to trim trailing blanks in incoming PI and RN fields (POS-records) (FiasPostInfoFix values 1 & 2)

  • FIAS - Added flag where business logic can be forced to go through IRMS/IFC_ROOM in incoming POS record (FiasPostInfoFix value 4)


What's new in 8.5.5.x ?

  • ICFG_WAK had to be enlarged as bigger configurations would not fit into the field's prior size

  • SAE clones are now setup to use SAE protocol (were using HON protocol)

  • NKT - small corrections in Lowlevel driver

  • Added new driver for "Message Waiting System SRL" (SRS)

  • Added new driver for "Fontaine Access Control" (FNT)

  • Added new FIAS driver for "NEC Unified Messaging-Base PMS IFC" (FIAS_NUM)

  • Added new FIAS driver for "VAS - Onewave Technologies, Inc" (FIAS_VAS)


New in 8.5.5.1

  • MS2: added COS to GuestIn schema for NoPost handling

  • Posting - Corrected problem where GuestName was not populated in PostAnswer any more for Cash/Creditcard postings (V8 only)

  • Added new FIAS driver for "innFOR HSIA" (FIAS_IFH)

  • Added new FIAS driver for "SLAP Keeper" (FIAS_SLA)

  • Added new FIAS driver for "GCS-Guestroom Control System" (FIAS_GRC)

  • Added new FIAS driver for "IntelliSpa" (FIAS_ILS)

  • Added new driver for "Remanco 1600, 1700, 1900 HMS" (RC1)

  • Added new driver for "Omron Gateway" (OMR)


New in 8.5.5.2

  • Added new driver for "Fuji Control Center" (FCP)

  • FIAS - Corrected a problem where Schema-definiton through InLineSchemas was not working (LinkRecords where use regardless of the configuration settings.)

  • SLV/SLB - Added option to preserve leading zeros in extensions of incoming charge records


New in 8.5.5.3

  • Added new driver for "MICRONIC, MATEC KOREA" (MCR)

  • Added new driver for "Sable 100NT" (SAB)

  • Departmentcode validation: Enhanced check to validate if a department code is active or not. (Suite8 only)

  • TLP - KeyRead: added missing field identifier "EA"

  • Added new UNI-driver for "OVERCALL CAS" (UNI_OVU)

  • Added new FIAS driver for "Polaras Hotel Interface System" (FIAS_PLH)

  • Added new FIAS driver for "Easy Talk HTMS" (FIAS_ESY)


New in 8.5.5.4

  • Added new driver for "RSM POS" (RSM)

  • Added new driver for "Delcomm/Smart Stat Building + EMS" (SSE)

  • ABC - Added support for Minibarpostings & RoomStatus-changes

  • Added new XML_POS driver for "ADDIPOS" (XML_POS_ADP)

  • PPC - SalesOutlet & Cleartext: values were not trimmed

  • LAS - Offset of Wakeup-record was incorrect with 5-digit extension configuration

  • Added new FIAS driver for "Mobicall" (FIAS_MBC)


New in 8.5.5.5

  • Added new driver for "NRG (Iris) Management System" (NRG)

  • Added new driver for "Pegasus by Robert Shaw" (PEG)

  • Added new FIAS driver for "Ulysse – Fidelity Group" (FIAS_ULY)

  • Added new FIAS driver for "LAPIS SPA Program" (FIAS_LAP)

  • SIM - general enhancements for simulation mode

  • TIG - Added SalesOutlet as DC-selector to chargerecords

  • Added new parameter to C/I configuration:

To understand:

IFC8 (on Suite8) does NOT change any guest-rights just due to the fact of a C/I.

The rights are only changed if the corresponding attribute is within the C/I schema. Else the change will be done through the RoomEquipment record after C/I.

The above parameter was added for old FIAS-style systems which changed COS on their side during GI and would not wait for the RE to see if the line should be opened. IFC8 would NOT send an RE record in case of active NoPost as the prior status "0" (i.e. blocked) was not changed during the C/I.

In order to send records in IFC7-style, activate the new feature.

Note: For some drivers the feature can not be activated. IFC8 checks the driver and decides if it can be used or not.

NOTE: To use this feature you MUST update IfcBusi.Dll to version >=8.5.5.5.


New in 8.5.5.6

  • RC2 - Small changes to low-level behavior (Answer ENQ with ACK)

  • Added new driver for "Network Cashless Systems/Trackcard" (NCS)


What's new in 8.5.6.x ?

What's new in 8.5.6.x ? (August 6, 2008)

  • ATD - added UserID (Maid-ID) to RoomEquipment schema

  • LAS - added UserID (Maid-ID) to RoomEquipment schema

  • ATD - now using the next sequence number for roomstatus replies (IFC was echoing back the old sequence number)

  • Crossposting: Corrected a problem where duplication of Check-Details with AddXPost did not work (has not been working since 09/2006 - please update all sites which have an enhanced Micros-IFC and use AddXPost)

  • CBC - Bill display: fixed formatting of negative amounts

  • DHS - Bill display: fixed formatting of negative amounts

  • GAS - Bill display: fixed formatting of negative amounts

  • GSV - Bill display: fixed formatting of negative amounts

  • LDG - Bill display: fixed formatting of negative amounts

  • MNE - Bill display: fixed formatting of negative amounts

  • MOV - Bill display: fixed formatting of negative amounts

  • OCV - Bill display: fixed formatting of negative amounts

  • TGL - Bill display: fixed formatting of negative amounts

  • MCR - Corrections to handling of Roomstatus codes

  • SLB/SLV - Corrections to handling of Roomstatus codes

  • DB-Swap - Corrected a problem where data from IFC1 could be used by other IFCs under some circumstances (Suite8 only)

  • Added new driver for "Robert Shaw EMS" (RSE)

  • Added new driver for "Paging System NIRA Butler Call" (NRA)

  • Added new driver for "Siemens/Tetronik Zuhm Message" (HCZ)

  • Added new driver for "Alcatel Telic 2600 xx" (A26)

  • Added new driver for "Alcatel Telic 2640" (A24)

  • Added new driver for "SEL 5625" (S25)

  • Added new FIAS driver for "JFIS - Jobo - Fidelio Interface System" (FIAS_JFI)

  • Added new FIAS driver for "Extenway In-Room Entertainment" (FIAS_ETW)

  • Added new FIAS driver for "PhoneControl Affinity" (FIAS_PAF)

  • FIAS_IHS - Removed support for serial communication (Driver can now be used with TCP/IP ONLY !!)


New in 8.5.6.1

New in 8.5.6.1 (August 8, 2008)

  • Added new XML_POS driver for "Book4Time" (XML_POS_B4T)

  • N24 - added timer for received ENQs to avoid endless waitloop (Added to JIS protocol, so this is valid for all other drivers using this protocol too.)

  • Billview - add errorhandling to those drivers with maximum amount-size. IFC will now raise an error, if an amount is received from PMS, which is too large for the respective vendor protocol.

  • Checkdetail: Further correction to duplication of Checkdetails with AddXPost. This is now working properly too, when Crossposting is done between OPERA and V6.


New in 8.5.6.2

New in 8.5.6.2 (August 20, 2008)

  • SQ3 - Corrected RequestType values in A/R-inquiries and A/R-Postings

  • COMEx - Corrected a problem where ASCII character over 127 could not be processed properly

  • IfcBusi - Corrected a problem with outgoing RoomEquipment messages (since 8.5.6.0)

  • FCS - Bill display:Added check for maximum amounts

  • GAS - Bill display:Added check for maximum amounts

  • GSV - Bill display:Added check for maximum amounts

  • LDG - Bill display:Added check for maximum amounts

  • OCV - Bill display:Added check for maximum amounts


New in 8.5.6.3

New in 8.5.6.3 (September 3, 2008)

  • M87POS - Bill display:Added check for maximum amounts

  • MEN - Bill display/XCKO: removed unused code and schemas (currently not supported)

  • IFC8-Commservice - further corrections to comply with current security patches on WinXP (service wasn't starting automatically any more.)

  • Added new FIAS driver for "ADRS - Across Digital Room System" (FIAS_ARS)

  • Added new FIAS driver for "RMS - Energy Management System" (FIAS_REM)

  • Added new FIAS driver for "ENTIRETEC-MM" (FIAS_ETI)

  • Added new FIAS driver for "Avaya IP Phone Application" (FIAS_AIP)

  • Added new FIAS driver for "Genesis 2 ITV Platform" (FIAS_GSS)

  • Added new FIAS driver for "Vestel Hotel TV" (FIAS_VST)

  • Added new FIAS driver for "Pusatec Oyb - SPA" (FIAS_PUO)

  • Bill-Request: corrected BalanceAmount in case items are merged by POS-ID (Suite8 only)

  • Added startup parameter "+C" (start in config mode)

  • Added startup parameter "+B" (running with beeps)


New in 8.5.6.4

New in 8.5.6.4 (September 12, 2008)

  • Added new FIAS driver for "TecHotel - Tecnovox Srl" (FIAS_THT)

  • Added new driver for "Datapulse Vers.3" (DP3)

  • Added new driver for "MIWA Al4H" (MIW)

  • GDA - Corrected handling of negative amounts

  • GDA - added missing Merchant-ID to cancel Request record (a31)

  • General: Added code to allow the following characters as part of a computername: #. [, ], ?

  • EFT-masking - changed routine in a way that maximum the first and last 4 digits of a cardnumber stay visible (could have been 5 depending on cardnumber length in prior versions of IFC8)

Note: '*' may NEVER be used as part of a computername in combination with IFC8. (This applies to all involved workstations and servers in an installation.)


New in 8.5.6.5

New in 8.5.6.5 (October 2, 2008)

  • VCT - KeyRead: added option to send HotelID (B)

  • VCT - KeyAnswer: added support for error code 'B'

  • VCT - KeyRequest: send GuestNum in 'P' field

  • VCT - All actions: send UserID in operator lastname field (OpLast)

  • VCT - KeyRequest: send all fields (e.g. HotelID) for duplicate keys too

  • VCT - KeyDelete: added option to send HotelID (B) and PmsID (P)

  • VCT - KeyDelete: Send true encoder ID and not hardcoded "00"

  • SQ3 - added PaymentMethod for all PostRequest/PostInquiry

  • FIAS - EFT RequestTypes: Added support for Bit-oriented RequestType handling (instead of hardcoded handling as it used to be done in IFC7)

  • Added new M27-driver for "Casio CEH - QT6000" (M27_CCQ)

  • Added new FIAS driver for "SIL01B - NSP Europe" (FIAS_SLN)

  • Added new FIAS driver for "Messerschmitt HOCAS" (FIAS_MSH)

  • Added new FIAS driver for "IskraTELING SI 2000/3000" (FIAS_IKT)

  • Added new FIAS driver for "Bluesocket Controller" (FIAS_BLS)

  • Added new Tesa HT24 driver for "Sitech ST40" (HT24_SS4)

*


New in 8.5.6.6

New in 8.5.6.6 (October 14, 2008)

  • IfcBusi.Dll/Check-In: Added functionality where COS can be defaulted to "3" at C/I; controlled through the 4th bit of ICFG_CMD_CHK:

  • GDA: fixed runtime error upon receiving a A30 record (N/A response)

  • Multi-Property: Added support for extensions with leading zeroes

  • Added new FIAS driver for "Desbravador POS" (FIAS_DBR)

  • Added new FIAS driver for "TopHotel - Interel S.r.l" (FIAS_TPH)

  • Added new FIAS driver for "NeXspan PMS Link – S.T. Srl" (FIAS_NXS)

  • Added new FIAS driver for "24online EliteCore" (FIAS_O24)


New in 8.5.6.7

New in 8.5.6.7 (October 29, 2008)

  • YAL - added KeyDelete schema and reply with automatic key answer to avoid lengthy waits in the PMS during C/O

  • SL6 - added support for Track1 handling

  • MNC/MNS - added option to select content of ReceiptId (Reservation-ID, AuditTrialNum, or combination of both)

  • N24 - changed default value for VIP-status from "2" to "0"

  • Added new driver for "Hypercom POS" (HPC)

  • M87POS - Corrected handling of ICF_GST_MSG record

  • CC9 - Added CardType-mapping table for incoming records as workaround for the incompatibility between CCC's AIDs and OPERA's Card-Type handling. This change is parameter-driven and needs to be activated in IFC8s configuration.

  • MNE - Bill display: added check for max. amount

  • MOV - Bill display: added check for max. amount

  • PPC - Bill display: added check for max. amount

  • TGL - Bill display: added check for max. amount

  • TC2 - Bill display: added check for max. amount

  • TC3 - Bill display: added check for max. amount

  • TC3 - Added ClearText to GuestBillBalance schema

  • SQL - corrected overflow exceptions for amounts > 32565 with activated total amount calculation
  • SQ3 - corrected overflow exceptions for amounts > 32565 with activated total amount calculation
  • LAS - added option to ignore incoming swap requests
  • Added new FIAS driver for "MCM - Comfort" (FIAS_MCM)
  • Added new FIAS driver for "EASE - Modern Access Systems, Inc" (FIAS_EAE)
  • Added new FIAS driver for "HOMI Minibar" (FIAS_HMI)
  • Added new FIAS driver for "Roomlinx Media and Entertainment System" (FIAS_RLX)
  • Added new FIAS driver for "Control4 - Suite System" (FIAS_CT4)


New in 8.5.6.8

New in 8.5.6.8 (November 6, 2008)

  • SL6 - added option to send KeyLevel depending on SuiteInfo

  • Suite8 Small Business Edition: Allow a 4th Interface if a PBX IFC needs to be started twice for two ports (e.g.SLV)

  • V8_IFC_ZFAC_ID - modified view for better performance

  • V8_IFC_ZFAC_ID - modified view to show checked out Autonumber-FAs so that KeyDelete from those FAs is now working again.

  • MLK - Adopted driver to spec from 1998

  • Added new FIAS driver for "Global 028 Triple Play System" (FIAS_G28)

  • A44 - added option to use date/time from incoming WakeupClear record

  • Database - add bind variables to some queries to reduce load on server-cache


What's new in 8.5.7.x ?

What's new in 8.5.7.x ? (December 3, 2008)

  • IfcBusi.Dll - Database - add bind variables to some queries to reduce load on server-cache

  • Added new driver for "Ericsson HS 100/900" (ER1)

  • Added new driver for "Ericsson ASB 900" (ER9)

  • Added new driver for "Memorex Telex 1001/1200/5000" (MTX)

  • TCP-Client - change behavior when IP is set to "LOCAL". IFC8 will now not use the current local address any more but will use "127.0.0.1".

NOTE: This change can result in connection-problems to OPERA's IfcController. Corresponding changes have been done to the controller but require a new release of the controller for OPERA 5.0.1.2, which is not out at this point (December 1st 2008). If you experience connection problems, set configuration to the IFC PCs IP-address or use the computername instead.

  • A15 - Leading zeroes are now not removed from the dialled number any more

  • CC9 - added PathId-HotelID translation for outgoing records

  • LAS - added sending of DB swap start/stop after receiving a DB-swap request

  • HPC - Removes header information from Lowlevel (as found during testing)

  • PostRequest: added NoPost support for PostRequest via Attr.-Reference (i.e. all interfaces which don't post by PostListItemNum)

  • MNS - Changed Default for CheckState to "N" for layer1="TCP/NC"

  • Added new FIAS driver for "GHIS-GH Interface Systems" (FIAS_GHI)

  • Added new FIAS driver for "Hotel Intelligent Guest-Room Control System" (FIAS_HIG)

  • Added new XML-POS driver for "IS Master - POS" (XML_POS_ISM)


new in 8.5.7.1

New in 8.5.7.1 (December 9, 2008)

  • RC2 - Corrected problem where incoming postings without roomnumber would not be processed

  • RC2 - Corrected framing of INIT record

  • RC2 - cChanged initial value of AppID

  • RC2 - added AppID and tab character to simulation records

  • Full-CAS - Time periods - corrected a problem where time-periods could not be set over midnight

  • EBP - read extension from A-number field if information status = "N" (CIL3 only)

  • HPC - PostSimple: use SalesOutlet instead of UserID (request for Opera)


New in 8.5.7.2

New in 8.5.7.2 (December 10, 2008)

  • IfcBusi.Dll: Performance enhancement for faster startup: Tray-information of local printers is read only once during startup now and not again by each session of IfcBusi.Dll

  • Posting: Corrected a problem where FIAS-POS drivers (and other Reference posting POSs) could not post any more if NoPost checking was activated (Suite8 only, since IFC8 version 8.5.7.0)


IFC Tables - Update Script to 8.6.0.x

There are no table changes from 8.5.7.x to 8.6.0.x.


What's new in 8.6.0.0 ?

What's new in 8.6.0.0 ? (December 12, 2008)

Main release 8.6.0.0 has been created as there is a cut in compatibility between Ifc8.Exe and IfcBusi.Dll.

As of version 8.6.0.0 all Expiry-Date values in EFT-transactions are crypted. This has not been a requirement before but will be for current PCI-regulations.

In order to run IFC8 version >= 8.6.0.0 you need to update all installed versions of IfcBusi.Dll to version >= 8.6.0.0

  • Added crypting to Expiry-Dates

  • Added masking of Expiry Dates in XML and FIAS

  • Added new FIAS driver for "Consoll Hotel System" (FIAS_CLH) - Part-No.: 5002-149

  • Added new FIAS driver for "ReiverNet" (FIAS_RVN) - Part-No.: 5009-180

  • RC2 - corrected void handling: Subtotals were posted as positive amounts

  • HT24 - changed information field in KeyRequest record: IFC8 will now send UserId and not WsNum anymore

  • Added servicepack information to OS description in logfiles


New in 8.6.0.1

New in 8.6.0.1 (December 19, 2008)

  • FIAS - EFT - Corrected a problem where expiry-date values were sent in wrong order (YYMM instead of MMYY) (introduced in 8.6.0.0)

  • VISTA - Corrected a problem where IFC8 would detect a non-console session when started on VISTA desktop (introduced in 8.6.0.0)

  • Added new FIAS driver for "EHERO GW TongFang" (FIAS_EHE)

  • Added new FIAS driver for "Atlas-Hospitality" (FIAS_ATL)

  • Added new FIAS driver for "Arantia TV" (FIAS_ARA)


New in 8.6.0.2

New in 8.6.0.2 (January 14, 2009)

  • Added new driver for "NEC 7400 IMS" (N7M)

  • Added new FIAS driver for "Entirety Call Logger" (FIAS_ETC)

  • Display of objects: added new configuration-parameter "ObjCaption" for an individual Ifc8Form.Caption definition

  • Configuration: "DoublePostingFixAttr" parameter was not visible in the configuration for some drivers (e.g. FIAS) and could only be configured manually in the config.xml

  • TC2 - added missing GuestShareflag to GuestIn schema

  • IFC8-as-Service: Added message-Box to configuration to ask if the user is sure to install IFC8 as Service

  • Added new XML-POS driver for "IQPOS Restaurant Management System" (XML_POS_IQP)

  • Added new FIAS driver for "DV2000 - DuVoice Corporation" (FIAS_DV2)

  • "LodgeView PMS Interface" - Changed FKT/Driver from TGL_LOV to LDG_LOV (Requested by U.S.)

  • XML/FIAS - corrected an issue, where EFT-vendors providing RequestTypes in LinkDescription were forced to run in crypted mode.


New in 8.6.0.3

New in 8.6.0.3 (January 15, 2009)

  • TCP-Server: corrected a problem where IFC8 would not always automatically Re-Init if a vendor shuts down with invalid TCP-behavior, e.g. shut down without close-request (since V5.7.0)

  • Added V8_IFC_YRES_PACKAGES to list of available views for IDRF configuration (available as of PMS version 8.8)


New in 8.6.0.4

New in 8.6.0.4 (January 20, 2009)

  • Crypting - Corrections for old OPERA versions which don't support crypting yet

  • Configuration - Added IDRF default scripts for FIAS_TAC

  • M87 - PostRequest: added support for Opera/GuestConnect Profile IDs (CrossReference 7/8)

  • ILU - added support for configurable 'Authorization #' field

  • INF - C/I-record: changed offset for language code from Pos. 60 to Pos. 61

  • NC1 - PostAnswer: added GuestFormattedname

  • Added new FIAS driver for "BNS - VSS System" (FIAS_BNS)


New in 8.6.0.5

New in 8.6.0.5 (February 4, 2009)

  • Added new driver for "NOKIA DIXI" (NK1)

  • Added new FIAS driver for "ATTV-Syntek Interface system" (FIAS_ATT)

  • Added new FIAS driver for "Nuxen" (FIAS_NUX)

  • Added new FIAS driver for "PMS-REIS - Net Spot" (FIAS_PRE)

  • CKS - added option to delay sending of KeyRequests. This is necessary as C.I.S.A. sometimes takes very long to reset their encoders.

  • MessageRequest - corrected a problem where message-text would not b sent out, if incoming action does not contain a RequestType - mostly for FIAS drivers (Suite8-only)

  • VISTA - corrected a problem where Vista-OS was not properly recognized when SP1 is installed

  • Codepage settings: made parameter "GE_UML" available to FIAS drivers

  • UNI - Added new logic to support Duration values which are received as MM:SS, where SS are sent with proper values from 00-59, but where minutes are sent as total value which can exceed 59 (UNI_LengthMinLength and UNI_Length_Minutes_Multiplier)

  • UNI - Added logic to left-pad hourvalues in the timeattribute with "0", if the vendor sends hours as single digit value (e.g. 9:12:34 will not become Time="091234" and not any more Time=" 91234"

  • UNI - Corrected a problem, where the decimal separator was read from the local currency setting. Now UNI will read the numeric decimal separator from the OS.


New in 8.6.0.6

New in 8.6.0.6 (February 9, 2009)

  • M87POS - Correction to changes for GuestConnect integration with OPERA

  • AD6 - Allowed 'V1.3' in header of records

  • CCC: removed parameter CCC_SendTimeRecord

  • CCC: added parameter CCC_SendAliveRequest

  • CCC: added parameter CCC_TimespanAliveRequest


New in 8.6.0.7

Version 8.6.0.7 was never released, the respective changes have been merged to the release version 8.7.0.0


IFC Tables - Update Script to 8.7.0.x

There are no table changes from 8.6.0.x to 8.7.0.x.


IFC Tables - Update Script to 8.7.1.x

/* Update script for IFC8 Updates from 8.7.0.x to 8.7.1.x

*/

/* 1. modify ICRD table */

--add ICRD_USERID field

ALTER TABLE ICRD ADD (ICRD_USERID VARCHAR2(64) NULL);

COMMENT ON COLUMN ICRD.ICRD_USERID IS ' Key made/update by User';

--add ICRD_WSNUM field

ALTER TABLE ICRD ADD (ICRD_WSNUM VARCHAR2(64) NULL);

COMMENT ON COLUMN ICRD.ICRD_WSNUM IS ' Key made/update via WsNum';

COMMIT;


IFC Tables - Update Script to 8.7.2.x

/* Update script for IFC8 Updates from 8.7.1.x to 8.7.2.x

*/

/* 1. modify IHST table

*/

--modify the IHST_SUPPL_DEF field

ALTER TABLE IHST MODIFY (IHST_SUPPL_DEF VARCHAR2(60));

Commit;


IFC Tables - Update Script to 8.7.3.x

/* Update script for IFC8 Updates from 8.7.2.x to 8.7.3.x

*/

/* 1. modify IPRN table

*/

--rename + modify the IPRN_PRN_IDX to IPRN_PRN_NAME field

UPDATE IPRN SET IPRN_PRN_IDX = null;

ALTER TABLE IPRN MODIFY (IPRN_PRN_IDX VARCHAR2(256));

ALTER TABLE IPRN RENAME COLUMN IPRN_PRN_IDX TO IPRN_PRN_NAME;

COMMENT ON COLUMN IPRN.IPRN_PRN_NAME IS 'the selected printer name';

Commit;


IFC Tables - Update Script to 8.7.4.x

/* Update script for IFC8 Updates from 8.7.3.x to 8.7.4.x

*/

/* 1. modify IERR table

*/

--modify the IERR_REQ_TYPE field so that larger values can be inserted

ALTER TABLE IERR MODIFY (IERR_REQ_TYPE NUMBER(5));

Commit;


IFC Tables - Update Script to 8.7.5.x

/* Update script for IFC8 Updates from 8.7.4.x to 8.7.5.x */

/* 1. modify IDRV table */

--drop the (not used) IDRV_VN_TYPE field

ALTER TABLE IDRV DROP (IDRV_VN_TYPE);

Commit;


IFC Tables - Update Script to 8.7.6.x

/* Update script for IFC8 Updates from 8.7.5.x to 8.7.6.x */

/* 1. modify ICRD table */

--add the ICRD_TRACK3_CHAR field

ALTER TABLE ICRD ADD (ICRD_TRACK3_CHAR VARCHAR2(256) NULL);

COMMENT ON COLUMN ICRD.ICRD_TRACK3_CHAR IS 'Track3 data as substring (special usage for PMS reporting)';

/* 2. create the ICRD_TRACK3_NEW procedure */

CREATE OR REPLACE PROCEDURE ICRD_TRACK3_NEW

IS

CURSOR n IS SELECT icrd_id,icrd_track3 FROM icrd;

r n%ROWTYPE;

v VARCHAR2(256);

BEGIN

FOR r IN n LOOP

v:= SUBSTR(r.icrd_track3,1,256);

UPDATE ICRD SET ICRD_TRACK3_CHAR=v WHERE icrd_id=r.icrd_id;

END LOOP;

END ICRD_TRACK3_NEW;

/* 3. start the ICRD_TRACK3_NEW procedure */

begin

ICRD_TRACK3_NEW;

end;

Commit;


IFC Tables - Update Script to 8.7.7.x

There are no table changes from 8.7.6.x to 8.7.7.x.


What's new in 8.7.0.0 ?

What's new in 8.7.0.0 ? (March 13, 2009)

Version 8.7 of IFC8.Exe and IfcBusi.Dll have new display icons.

The Windows OS stores icons for faster display in IconCash.db, which is located under Document & Settings for each user.

As a result you will find that IFC8 will display the old icon during the startup. The new icon will be displayed once the load-process is done. This behavior will of course only be seen on machines, where an elder version IFC8 had been running.

Should you want to get rid of the old icon from the cache, there are two choices:

1. Remove (rename) Iconcach.db and restart the system. (Please carefully read the related comments on this in the different forums on the internet. )

2. We provide a tool which will clear the iconcache without removing the exiting file. It can be found on the FTP under:

ftp.v8.myfidelio.com/IFC8/Utility/Tools/RefreshIconCash

Nothing to install, just run the executable.

Technical changes in version 8.7.0.0:

  • IFC8-as-Service - Corrections for starting of IFC8 in multiple instances.

  • M27_ME7 - Added support for TCP protocol (M87TCP)

  • Added more intensive logging for locator functions (Suite8-only)

  • TGL & all TGL-clones: remove leading zeroes from incoming Reservation-IDs

  • Billview with zero balance (Suite8-only): Corrected wrong TotalAmount. Scenario could have looked like:

<GuestBillRequest
 xmlns="x-schema:GuestBillRequestSchema_I"
 RoomNum="102"
 GuestNum="35752"
 PostNum="S789"/>

<GuestBillBalance
 RoomNum="102"
 GuestNum="35752"
 BalanceAmount="1,13686837721616E-13"
 PostNum="S789"
 AnswerStat="OK"
 xmlns="x-schema:GuestBillBalanceSchema_O">

<GuestBillItem ItemDescription="Barzahlung " ItemAmount="-1006,4"
DepartmentCode="9000" ItemdisplayFlag="1"
Date="090407" Time="155231"/>

<GuestBillItem ItemDescription="Telefon Ext:12102/Dur:001000/Typ:T-&gt;T" ItemAmount="3,2" DepartmentCode="4101"
ItemdisplayFlag="1" Date="100527"
Time="185309"/>

<GuestBillItem ItemDescription="Telefon Ext:12102/Dur:001000/Typ:T-&gt;T" ItemAmount="3,2" DepartmentCode="4101"
ItemdisplayFlag="1" Date="100527"
Time="184926"/>

<GuestBillItem ItemDescription="Telefon Ext:11102/Dur:00:10:00/Typ:C-&gt;" ItemAmount="600" DepartmentCode="4101"
ItemdisplayFlag="1" Date="101221"
Time="171010"/>

<GuestBillItem ItemDescription="Telefon Ext:11102/Dur:00:10:00/Typ:C-&gt;" ItemAmount="400" DepartmentCode="4101"
ItemdisplayFlag="1" Date="101221"
Time="170832"/>

</GuestBillBalance>

Balance Amount is now properly transferred as '0'.

  • IFC8-as-Service: Changed installation-type from "Manual" to "Automatic"

  • Added new FIAS driver for "BlueIntrasControl" (FIAS_BIC)

  • Added new FIAS driver for "P$X Micros IFC for Asterisk" (FIAS_PXM)

  • Added new FIAS driver for "Eternity Matrix" (FIAS_ETM)

  • Added new FIAS driver for "FHS Room Status Panel– Fusion of Hotel System" (FIAS_RsOut_FHR)

  • Added new XML-POS driver for "Shortcuts POS" (XML_POS_SHO)

  • IFC8/IfcBusi.Dll - removed usage of IfcAction.Dll, replaced file with IfcAction.tlb

  • Monitoring: now showing the local PcName and IfcActionTypDesc (Dll/Tlb) in logfile and on screen

  • Added new startup parameter "+W" -> Wait for CPU usage. IFC will not start, if no sufficient CPU time is available

  • BOC - added masking for Expiry Dates

  • CAX - added masking for Expiry Dates

  • CC9 - added masking for Expiry Dates

  • DIB - added masking for Expiry Dates

  • MNS - added masking for Expiry Dates

  • NWS - added masking for Expiry Dates

  • SIM - Added AutoSimFeature - IFC will send records for all configured schemas once activated (good for testing with high load)

  • XML_IFC7 - Corrected problem, where Crytogram was filled with a value which IFC7 could not process

  • Monitoring/Logfile: Added new option: LogFileType, logfile can now be written as either RTF or as TXT (Default and recommended is: RTF)

  • Minimized mode: added new options to stop graphical display -> +M1 and +M2

  • Logfile: Startup-Comandline parameters are now written to the logfile

  • Suite8: change oracle-dateformat in insert statement to become independent to NLS_DATE_LANG settings

  • Suite8: Added automatic answer for PMS-KeyDelete in case the vendor system does not support KeyDelete

New IFC8CommService

A new version has been compiled. There are no functional differences, just the new icons have been implemented.


New in 8.7.0.1

New in 8.7.0.1 (March 17, 2009)

  • Added new XML-POS driver for "Signum Orgasoft PoS .net" (XML_POS_SGO)

  • Logfiles: Corrected a problem where logfiles were not saved to the HDD upon shutdown any more (since 8.7.0.0)


New in 8.7.0.2

New in 8.7.0.2 (April 1, 2009)

  • VC3/VCT - Now allowing alphanumeric characters in KeyOptions for room type and user group

  • TIG - Changed default PostType for telephone charges from "T" to "C"

  • MNC - Added workaround for amounts coming from OPERA with 10 decimals

  • IfcBusi - Corrected a problem where GuestDataChange was not always processed properly (since 8.7.0.0)

  • CSB - replace CSB separator (backslash) in guest name and guest title with blank

  • Various Protocol Classes - changes to wait-loops to save CPU on VM

  • Added new UNI driver for "COMMCUBE" (UNI_CUU)

  • Added new FIAS driver for "ADIICT - Asterisk - Voice over IP" (FIAS_ADI)

  • Added new FIAS driver for "Cube Voice" (FIAS_CUV)


New in 8.7.0.3

New in 8.7.0.3 (April 8, 2009)

Performance:

Small changes where done to the following drivers to save CPU time in waiting-loops. (e.g. in loops like 'waiting for ACK')

    • BOC

    • All Spectradyne drivers

Charge-Formatting:

Corrected outgoing charge formatting in the following drivers:

    • BOC

    • CAX

    • CBC

    • CCC

    • CLK

    • DHS

    • DIB

    • GAS

    • GSV

    • LDG

    • MNE

    • MOV

    • OCV

    • TGL

  • Oracle Password and Authkeys - values in the config.xml are now crypted (Not added to connections for OPERA and MF-POS yet)

  • SIM - corrected "Overflow" error if "AutoSimMode" timer was set to > 30 seconds

  • Added new FIAS driver for "Sonet ECR4FIAS" (FIAS_SE4)

  • Added new FIAS driver for "Travel Talk" (FIAS_TVT)

  • Added new XML-POS driver for "SMS 30 - Scheidt & Bachmann" (XML_POS_SM3)

  • Added new XML-POS driver for "Nexis - WiFi Hotel-Fidelio connector" (XML_POS_NXW)

Crypting passwords in existing installations:

Open the configuration:

The oracle password is openly visible.

In order to crypt the value it needs to be re-typed. However, as IFC8's configuration will not accept a retype of the same value, you first need to delete the password and then 'apply':

This will cause the following error:

Hit 'Retry' which will bring you back here:

Now overwrite the "Pwd" with the desired value (while writing overwrite the string 'FidCryptDB| as seen in the above screenshot, or delete the value before writing the password) and apply again.

The configuration will now look like:

It is NOT possible to extract the password from this point on. It is crypted in the config.xml and will be displayed as crypted value.

New installations from scratch:

By default IFC8's oracle connection credentials will NOT contain a password any more but the following string:

Subsequently upon first start you will now see the following error from now on at all installations:


New in 8.7.0.4

New in 8.7.0.4 (April 22, 2009)

  • Charge-Formatting:

Corrected in-/out-going charge formatting in the following drivers:

      • FCS

      • GDA

      • NWS

      • SAB

      • SQ3

      • Squirrel (SQL)

      • TC2

      • TC3

  • AuthKeys are now crypted in the Ifc8Config.Xml. The values can only be accessed through the configuration when the key is created. If the key was not copied to e.g. OPERA once it was created a new key needs to be generated.

  • Oracle-Reconnect - corrected an issue where automatic oracle reconnect would not work on machines with am/pm time settings

  • Added new FIAS driver for "INFORMATEC" (FIAS_IFM)

  • Added new FIAS driver for "INAC Hotel Access" (FIAS_INA)

  • Added new FIAS driver for "Minxon Guestotel Key Card System" (FIAS_MNX)

  • Added new FIAS driver for "InfoStar - Key System" (FIAS_IFK)


New in 8.7.0.5

New in 8.7.0.5 (April 30, 2009)

  • Logfiles: Corrected a problem where the following error could occur: Run-time Error(55):"File already open" in case of LogFileType="TXT" and AutoSaveLog after Reinit while IFC8 runs as a service

  • Added new XML-POS driver for "Dinerware" (XML_POS_DIW)

  • Added new UNI-driver for "Call Analyst" (UNI_CYU) -> preconfigured UNI for systems from NEC, as built into the NEC KTS-I

  • Added new FIAS driver for "SIP - Synapsys Solutions" (FIAS_SSY)


new in 8.7.0.6

New in 8.7.0.6 (6 May 2009)

  • IfcBusi.Dll - added workaround for buggy printerdriver from free-PDF-creator "eDocPrintPro"

  • Added new driver for "Siemens Topcom 200" (TP2)

  • Added new FIAS driver for "BAAFIS-Burj-Al-Arab Fidelio Interface System" (FIAS_BAF)

  • Added new FIAS driver for "COSMOweb - Plueth Regelsysteme" (FIAS_COS)

  • Added new Micros 2700 driver for "SharpPOS Software" (M27_SHP)

  • TGL_OTT - added functionality to send an extra "Guest Information" field (C,3) an the end of the INFO-record


New in 8.7.0.7

New in 8.7.0.7 (12 May 2009)

  • Posting: corrected a problem where POS-postings were denied on Suite8 version 8.8 under some circumstances

  • AD6/9 - PostAnswer: removed leading '1' in GuestName field


New in 8.7.0.8

New in 8.7.0.8 (19 May 2009)

  • XML_IFC7 - Corrected problem, where Crytogram was filled with a value which IFC7 could not process

  • Logfiles - corrected a problem where logfiles could be written to the PMS-program path with Suite8 version 8.8


New in 8.7.0.9

New in 8.7.0.9 (3 June 2009)

  • Added new driver for "SEL 5630-DIS" (DIS)

  • Added new driver for "Tel-But DOS" (TEB)

  • Added new FIAS driver for "Licencia CTEX" (FIAS_LDT)

  • Added new XML-POS driver for "Cash Systeme Industries" (XML_POS_CSI)

  • CC9 - Changed default protocol layer to "N"

  • CC9 - Now restarting the timer for alive records when a request is sent, so that no alive record is sent during an open transaction

  • IFC8-as-Service - corrected a problem, where the configuration was not accessible any more after a log-off/log-on has taken place

  • V8-IFC_RESERVATIONSEARCH-view: Corrected a problem where VIP status was not correctly displayed for financial accounts (Suite8)

  • Configuration: Added dynamic scroll bar to those menus where not all items are visible (i.e. more then 16 config-items.)

  • ComEx - Corrected a problem, where the ReceiveTimeout was hardcoded to a maximum of 1 second


New in 8.7.0.10

New in 8.7.0.10 (11 June 2009)

  • Added new driver for "IPEX" (IPX)

  • Added new driver for "SEL 5625 NEW" (TNS_S5N)

  • IFC8 & IfcBusi.Dll - corrections for date-settings as used in China and Japan

  • Added new XML-POS driver for "SpaBooker" (XML_POS_SPB)

  • Monitoring: Added functionality where the font-size in monitor and logfile can be adjusted (S/M/L or a defined size)

  • TLP - KeyRequest: added support for combination of several KeyOptions for common rooms (see specific documentation)

  • TLP - KeyRequest: added support for remote keys (Kiosk)

  • TLP - KeydataChange: removed unused KeyOptions from schema (vendor record doesn't support this for the change-record)

  • Configuration: corrected an issue where the "Clone & Rename" option could lead to 'Runtime error 380'


New in 8.7.0.11

New in 8.7.0.11 (16 June 2009)

  • Added new FIAS driver for "Concurrent Nippon VOD System" (FIAS_CON)

  • Added new FIAS driver for "SingTel Hospitality IPTV" (FIAS_SGT)

  • Added new TLP driver for "Vingcard - VisiOnline PMS PLUS" (TLP_VCP)

  • Various protocol classes: smaller changes to enhance performance.

  • Wake-Up: Corrections and enhancements in wake-up business logic (Suite8-only)

    • Wakeups are now properly moved from one room to another during roommove (only if handling is on IFC8-side and if GuestdataChange is supported by the vendor-system for roommoves)

    • Wake-ups in sharer scenarios are now better handled when guests are moved or checked out


New in 8.7.0.12

New in 8.7.0.12 (19 June 2009)

  • FIAS - outgoing monetary values (e.g. TA in $A) are now formatted as defined in the local settings of the IFC-PC

  • IfcBusi.Dll - corrections for COS-handling during roommove of shareres

  • Various protocol classes: smaller changes to enhance performance.

  • Voicemail: smaller modification for better handling of message-notifcation due to voicemail notifications

  • Added new FIAS driver for "BEE SMART" (FIAS_BEE)

  • Added new FIAS driver for "IPMagix CCM Connector" (FIAS_IPM)

  • Added new FIAS driver for "BTVA" (FIAS_BVT)

  • Added new FIAS driver for "ALERT5 – EmmeTi Elettronica" (FIAS_ALM)


New in 8.7.0.13

New in 8.7.0.13 (6 July 2009)

  • Minibarpostings with Suite8 as of version 8.8: Corrected a problem where the values of Minibar-Article and count of articles were inverted (applies to all FKT-Logos)

  • Various protocol classes: smaller changes to enhance performance.

  • IFC8-as-Service: smaller corrections in shutdown behavior

  • Smaller enhancements to error-code and AnswerStatus handling for invalid postings (Suite8)

  • SOP - removed leading/trailing blanks from PostRoute

  • Simulation Mode: Added new option: EditInLineSchema

  • M27_SAM - allowed COMEx as Comm-Layer

  • Added new FIAS driver for "K&H Chip & Pin EFT system" (FIAS_KHC)

  • Added new FIAS driver for "OpenLink - Telmekom" (FIAS_OLT)

  • Added new FIAS driver for "Orbita Technology" (FIAS_ORB)

  • Added new FIAS driver for "ROM - POS" (FIAS_RPO)


What's new in 8.7.1.0 ?

What's new in 8.7.1.0 ? (24 July 2009)

  • FIAS_PPP - made old-style EFT requests types available for this driver only

  • Businesslogic for KeyDelete: SuiteInfo is now populated in KeyDelete based on the original extra-rooms created during KeyRequest for the respective key (Suite8 only)

  • CC9 - change handling of AnswerStatus and CurrencyAvailableFlag, so that cards without ability for DCC still show AnswerStatus="OK"

  • MIA - added option to select category of card

  • KeyDelete - Added ability to fill SuiteInfo with the extra rooms as requested in the original KeyRequest (Suite8 only)

  • ICRD - update-user and workstation are now stored when a key is created/modified/deleted (in addition to the PMS-userlog)

  • Added new option "Via FktLogo" in InLineSchema configuration

  • Various protocol classes: smaller changes to enhance performance. (now finalized for all classes)

  • Added new FIAS driver for "Matrix POS – FIAS option" (FIAS_MAO)

  • Added new FIAS driver for "Blue’s PMS Link - Telcen Spa" (FIAS_BUE)

  • Added new FIAS driver for "NETxLAB.Fidelio.KNX Interface" (FIAS_KNX)

  • Added new FIAS driver for "Lorica Solutions Management Node" (FIAS_LSM)

  • Added new FIAS driver for "Samsung - Fidelio Gateway" (FIAS_SFG)

  • TLP - Added workaround for limitation of the RESORTPASS encoding system: PP field is now filled with defaults for One-Shot-Keys

  • TLP - changed default for all records for re-issue code from " " to "N". This default is sent, if DefRef4 is not being sent by the PMS


New in 8.7.1.1

New in 8.7.1.1 (4 August 2009)

  • Added new FIAS driver for "SAFLOK - FIAS Option" (FIAS_SFF)

  • Suite8: Billview - added option to send or not send the supplement field in addition to the department code description

  • OPERA - IFC8 will now always send its main version number in VerNum of LinkDescription to OPERA


New in 8.7.1.2

New in 8.7.1.2 (11 August 2009)

  • CC9 - corrected an issue where the communication could not be initialized, if an invalid PathId was received from the PMS

  • Added new FIAS driver for "Digital Guestserve" (FIAS_DGG)

  • M87POS - Added support for up to 63 Tax-itemizers. (9700 system and India ONLY!!)

  • M87POS - added option to increase the maximum number of tax itemizers from 8 to 63 (necessary so that the PostRequest schema can be reduced in case it create problems due to it's length)

  • SL6 - added Kiosk functionality (return of track 3)


New in 8.7.1.3

New in 8.7.1.3 (19 August 2009)

  • Added new FIAS driver for "Galaxy Gateway Ticketing Systems" (FIAS_GGT)

  • Added new XML-POS driver for "TP.Net - Wincor Nixdorf" (XML_POS_TWN)

  • VC3/VCT - Added support for Track1

  • Suite8-Businesslogic: Added support for automatic IDRF configuration for Track1-data of VC3/VCT


New in 8.7.1.4

New in 8.7.1.4 (7 September 2009)

  • VCT - KeyAnswer: fixed track3 conversion in VCT_Binary2Hex() for VCT_Mode_Track3_Pure

  • VCT - KeyAnswer: added option to send binary data in track3 (VCT_Mode_Track3_Pure)

  • LDG - Billview items: send minus sign instead of 'CR' for negative amounts


New in 8.7.1.5

New in 8.7.1.5 (17 September 2009)

  • Added new FIAS driver for "iPECS LG-NORTEL" (FIAS_IPN)

  • SLV - now acceping 'L' as valid record identifier. These are internal calls, no posting is generated, but a corresponding message is logged.

  • TLP - now sending commands to the TLP-Server (EA='0') without waiting for a reply for previous requests

  • HPC - Corrected a problem where the record-type would always be displayed as "0" in the logfile

  • HPC - Added extra logging to show that record-type"400"is not being processed


New in 8.7.1.6

New in 8.7.1.6 (6 October 2009)

  • VCT - enhanced logfile to show errors due to incorrect Vingcard password

  • Removed FIAS_TCP -> this driver is replaced by M27_TCP for "TCPos, TC Systems"

  • Added new FIAS driver for "iRiS Personal Valet" (FIAS_IRI)

  • Added new FIAS driver for "LINK ZONE" (FIAS_LKZ)

  • Added new FIAS driver for "MFRI POS" (FIAS_MFR)

  • PIT - Corrected paring of Posting records of the different version (was mixed up before, leading to tax-Itemizers not being read)

  • FIAS - Now allowing Video-Rights 4-9 (enhanced rights as know from Spectradyne clones)

  • MNE - added option to send the CHKO-record without checking the value of GuestShareflag


New in 8.7.1.7

New in 8.7.1.7 (16 October 2009)

  • Added new UNI-driver for "Tartel 2.0" (UNI_TLU)

  • Added new FIAS driver for "IPTV Combine NetUP Inc" (FIAS_ICN)

  • Added new FIAS driver for "YGS - Zhongshan Yangguang Lock Manufactory" (FIAS_YGS)

  • Added new XML_POS driver for "Trivec EP" (XML_POS_TRV)


New in 8.7.1.8

New in 8.7.1.8 (21 October 2009)

  • Corrected a problem in internal XML-handling. (Could lead to incorrect interpretation of configuration parameters for FIAS)

  • Added new driver for "SteriaPAY - Point Transaction Systems" (SRP)

  • SQL - now using GuestFormattedname instead of DefRef1 in PostList


New in 8.7.1.9

New in 8.7.1.9 (29 October 2009)

  • Added new FIAS driver for "XPressEnergy (XPE)" (FIAS_XPE)

  • Added new FIAS driver for "Interactive Digital Hospitality Pay-TV System" (FIAS_IDH)

  • Added new FIAS driver for "Inroom Digital Solution (DSID)" (FIAS_IDS)

  • Added new FIAS driver for "ERS 200 - Elektronicke Riadiace Systemy" (FIAS_ERS)

  • SRP - added dynamic expiry date calculation


New in 8.7.1.10

New in 8.7.1.10 (13 November 2009)

  • Added new FIAS driver for "Moviebeam PMS Interface" (FIAS_MBP)

  • SRP - now sending the correct revision-number in the version field of the SpOpen()-function

  • SRP - CpPayOnlySchema_I: added missing CardType

  • TLP - KeyRead: now returning the DepartureTime if correctly supplied by Timelox

  • SLV - Added new configuration options for transferred calls so that different PBX behavior can still be used for full CAS


New in 8.7.1.11

New in 8.7.1.11 (23 November 2009)

  • Added new FIAS driver for "Cardola - Virtual Hotel System" (FIAS_CDL)

  • Wakeuphandling: added new functionality (IDRV_FEATURES="WakFixRy") to be able to correct incorrect WakeupResult handling by vendor (multiple results)


New in 8.7.1.12

New in 8.7.1.12 (26 November 2009)

  • IfcBusi.Dll - added functionality to validate the base-department code of each interface during startup

  • IFC8 - Added validation of the base department code in addition to the check of the split-table to the startup routine

  • Added new FIAS driver for "ADIPSYS - Hotspot Manager" (FIAS_ADY)

  • Smaller corrections in Authkey handling for Micros-Payment gateway


New in 8.7.1.13

New in 8.7.1.13 (16 December 2009)

  • Serviceinstallation: added configuration to allow manual changes to the command line parameters for IFC8-service installations (e.g. allow to add '+M2')

  • Added new FIAS driver for "AMIS - Jaguar Interface System" (FIAS_AMJ)

  • Added new FIAS driver for "Hotel 8000 – Geva Elettronica" (FIAS_H8G)

  • Added new FIAS driver for "INGEsuite" (FIAS_IGS)

  • FIAS - Chip & PIN - corrected a problem which prohibited using Cryptogram (CG) in Top-Up authirizations

  • TLP - send PP field even if ClearText from PMS is filled with blanks only


New in 8.7.1.14

New in 8.7.1.14 (15 January 2010)

  • Configuration (Suite8): enhanced DC-Configuration, so that inactive department codes are still visible which helps correcting installations where used department codes have been set to inactive in the PMS

  • CC9 - added option to allow printing of receipts for authorizations and unsuccessful settlements

  • FCS - corrected an overflow problem in charge-processing with very large amounts

  • OCV- now checking the N/T flag and message IDs in incoming MSGR records. This was necessary to allow message handling when a guest has more than just one unread message.

  • Added new FIAS driver for "Octopus - SimPerfect" (FIAS_OTP)

  • Added new FIAS driver for "Leverage IP" (FIAS_LVP)


New in 8.7.1.15

New in 8.7.1.15 (21 January 2010)

  • Added new FIAS driver for "ONEvison" (FIAS_ONV)

  • Added new FIAS driver for "YOSHIBA PCTV" (FIAS_YOS)

  • Added new FIAS driver for "Turcom Fidelio Interface" (FIAS_TRC)

  • V8_IFC_RESERVATIONSEARCH - view: performance optimization for sites with large amounts of financial accounts (Suite8)


New in 8.7.1.16

New in 8.7.1.16 (27 January 2010)

  • V8_IFC_RESERVATIONSEARCH - view: corrections to the changes in 8.7.1.15: some 'auto-number' financial accounts were filtered out and could not be used for POS-postings any more (Suite8)

  • RSM - added ServingTime and GuestNum to PostSimple schema

  • RSM - now filling Date/Time with current timestamp (values are not provided by POS system)

  • RSM - removed UserId from PostSimple and PostAnswer schema (value is not provided by POS system)


New in 8.7.1.17

New in 8.7.1.17 (25 February 2010)

  • MNS - corrected order of outgoing expiry-date in settlement record (is now: MMYY)

  • Logfile: smaller modifications to better show installed OS-service packs and show the propper edition of the OS (e.g. Windows 7- Professional)

  • Logfile: Number of 'open' RefNums are now written to the logfile by default

  • Monitoring: IFC8 will now display a warning if a not-supported operating system is detected

  • FNT - smaller corrections in the handling of names in KeydataChange

  • All HIS-based charge systems: added options (HIS_Zero_Duration_Value and HIS_Ignore_Empty_Duration) for duration if value in charge record is zero or blank (e.g. for M11)

  • TLP -KeydataChange: accept attribute lists in GuestDeparture, DepartureTime (not currently supported by OPERA)

  • TLP - KeydataChange: removed unused DefRef attributes from schema

  • Added new FIAS driver for "AlwaysOn Wireless" (FIAS_AOW)

  • Added new FIAS driver for "P2000 – Johnson Controls" (FIAS_P20)

  • Added Opera FktLogo "MAF" for "FIAS_PstInqOff_MAFIS"

  • Added new FIAS driver for "Cabcharge" (FIAS_CBH)


New in 8.7.1.18

New in 8.7.1.18 (3 March 2010)

  • TLP - TLP_PP_Field: added option for PF field usage

  • Default LogLevel: was set to "4" in 8.7.1.17, now set to "3" again

  • Config-Mode (i.e. IFC does not try to connect to the PMS or the vendor) can now not only be started through comand-line parameter but through configuration as well. Ensure to turn off before starting to test.

IFC8 now shows the status of the Communication-objects as "Disabled" with grey color.

  • Service: it is now no possible any more to start the an IFC8-session as program, when the same one has already been started as a service (necessary for Window7, where IFCs which run as a service don't interact with the desktop anymore)

  • Added new FIAS driver for "Datavalet" (FIAS_DTV)

  • Added new FIAS driver for "MEYPAR Control System" (FIAS_MEY)

  • Added new FIAS driver for "UA5200 Guest Link" (FIAS_UA5)

  • Added new XML-POS driver for "Visual Restaurant" (XML_POS_VSR)

  • M87POS - added parameter M87POS_CheckDetail_Options (Not currently supported by Suite8/OPERA, will be used for fiscal printing IDs in Brazil in the future)


New in 8.7.1.19

New in 8.7.1.19 (18 March 2010)

  • VCP/TLP - Added option & logic to retrieve Track2-data (i.e. RFID-UID) in the KeyAnswer from Vingcard/Timelox

  • Added new M27 driver for "EasiPOS - Ankerdata (M27)" (M27_EAP)

  • A44 - support for minibar postings by charge with format P<ext.><4dig Acc.Code><1dig Sel.><20dig Charge>

  • RC2 - Corrected a problem, where the existing timezone configuration wasn't populated to the config.xml automatically

  • OPERA: added logic to correct incomming/outgoing CcCharges , activated with new parameter: CcDecSeparator. (OPERA sends a DOT as decimal separator by default and doesn't take regional settings into consideration, which IFC8 does)


New in 8.7.1.20

New in 8.7.1.20 (25 March 2010)

  • M2K - added option to configure COS-values

  • Added new FIAS driver for "EW 1000 - Swiss Bureau Project Supply (SBPS)" (FIAS_EW1)

  • Added for 'draft' of the new 'Micros-Fidelio XML-DLS' driver

  • IfcBusi.Dll - for demo Hotels: Added new functionality to check how many days the Fidelio-Date is older than the system date, as too many problems arised from testing on too old Fidelio-systems.


New in 8.7.1.21

New in 8.7.1.21 (13 April 2010)

  • IfcBusi.Dll - added new error-handler for situations where a printerdriver fails when IfcBusi checks the available paper-bins of a printer (specifically happened with Kyocera printers)

  • Logfiles - corrected a problem where logfiles could not be saved anymore when invalid path-variable had been entered into the config.xml manually

  • Logfiles - added logfile validation - an error is now raised when invalid data has been entered to the config.xml

  • Internal Queue handling - smaller changes to reduce CPU-usage of IFC8

  • HT24 - MinibarArticle was not read from incoming minibar posting record

  • Added new FIAS driver for "Perftech.Hospitality" (FIAS_PFH)

  • Database check - added ability to check and modify the table-structure


new in 8.7.1.22

New in 8.7.1.22 (16 April 2010)

  • M87POS - corrected a problem where inquiries could not be placed into internal queues any more (introduced in 8.7.1.21)

  • HT24 - Added support for Remote-keys (RequestType="4", e.g. for Kiosk-systems)

  • Added new FIAS driver for "Adviser Hotel" (FIAS_AVH)

  • Added new UNI driver for "InnCharge" (UNI_IGU)


New in 8.7.1.23

New in 8.7.1.23 (28 April 2010)

  • RIS - Added support for fourth subtotal/tax field

  • CTG ( & alll CTG-clones) - moved COS handling from RoomEquipment to GuestDataChange

  • Added new FIAS driver for "VEX - Pointer Networks SA" (FIAS_VEX)

  • Added new FIAS driver for "Barsum Wi-Fi" (FIAS_BWF)

  • Added new FIAS driver for "Foxconn HTPC" (FIAS_FXC)

  • SAT - leading zeros are not truncated from RoomNumber in incoming records anymore (no change to outgoing records)

  • Logfiles: Corrected a problem, where logfiles were not saved anymore when:

    • IFC8 is running as service

    • Logfile-type is changed to RTF

    • Logfiledirectory is on a drive <> C: ( <> %systempath%)


New in 8.7.1.24

New in 8.7.1.24 (12 May 2010)

  • Added new XML-POS driver for "Oscar Shopping" (XML_POS_OSC)

  • Added new XML-POS driver for "GAAP Point of Sale" (XML_POS_GAA)

  • Added new FIAS driver for "Very Basic Cisco CUCM FIAS Interface" (FIAS_VBC)

  • Added new FIAS driver for "SweetBeam" (FIAS_SWB)


New in 8.7.1.25

New in 8.7.1.25 (18 May 2010)

  • V8_Ifc_Reservationsearch-view - Changes to enhance performance when posting to financial accounts with POS-Transponders on extremely large databases

  • Renamed menu option "ConfigMode" --> "Enable ConfigMode"

  • SLV - GuestIn: added COS handling (possible correction for current sharer-handling with NoPost in OPERA)

  • SLV - moved COS handling from RoomEuipment to GuestdataChange

  • Added new FIAS driver for "VMI – Automaten Seitz" (FIAS_VMI)

  • Added new FIAS driver for "Service Hotel SHNET – Altecon" (FIAS_SHN)

  • Added new UNI driver for "PCTEL - LMSOFTWARE LTDA" (UNI_PLU)

  • Removed 'Logfile-length=5MB'-option from configuration, as logfiles should never exceed 2 MBs

  • Logfile: added timeframes for all missing posting routines


What's new in 8.7.2.0 ?

What's new in 8.7.2.0 ? (21 May 2010)

  • Suite8: The maximum length for supplement information has been enhanced to 60 characters (was 30)

  • Added new driver for "MICROS-Fidelio Gateway Service" (XML_MFG)

  • Smaller corrections in the business-logic handling of EFT-cancellation records.

  • MNE - Corrected a problem where leading zeroes in incoming records could not be preserved


New in 8.7.2.1

New in 8.7.2.1 (8 June 2010)

  • M87POS - Postings without ServingTime value are accepted now

  • Console-detection - added check for Windows-server OS where the TerminalServices-service is stopped/disabled/not-licensed

  • Added new FIAS driver for "Micros Fidelio Korea Hotel E-Bill System" (FIAS_MFK)

  • Added new FIAS driver for "Summa Hotel – Alvit Srl" (FIAS_SUH)


New in 8.7.2.2

New in 8.7.2.2 (15 June 2010)

  • Added new FIAS driver for "Ambiance II by Gentec" (FIAS_AMB)

  • Added new FIAS driver for "IPS (Integrated Property Services)" (FIAS_IPS)

  • EBP: added parameter EBP_AccountCode_Usage which allows to use the AccountCode as RoomNum - only when Charge-Record is set to "CIL2"

  • CC9 - Enhanced printing options, added ability to print receipts for not-successful settlements

  • FIAS/XML - Added support for AVS-checking through "AvsInfo" / "$W"


New in 8.7.2.3

New in 8.7.2.3 (24 June 2010)

  • Changes to increase performance of queue-handling for keys

  • Added new FIAS driver for "CroBoPay VMC" (FIAS_CBP)

  • Added new FIAS driver for "Telkonet Networked SmartEnergy" (FIAS_TKO)

  • Added new FIAS driver for "360NET Fidelio Interface" (FIAS_N36)

  • VC3 - Driver does now support multi-threading


New in 8.7.2.4

New in 8.7.2.4 (7 July 2010)

  • FIAS/XML - smaller corrections to EFT-receipt printing

  • VC3/VCT - added option to reply to PMS with KeyAnswer immediately if an encoder is internally blocked in IFC8 with another request (Can only happen if OPERA is not set to "WAIT")

  • RC2 - corrected tooltip for timezones

  • Added new FIAS driver for "eButler" (FIAS_EBU)

  • Added new FIAS driver for "LSP - Lifestylepanel" (FIAS_LSP)


New in 8.7.2.5

New in 8.7.2.5 (15 July 2010)

  • OCV - corrected MSGR with message id "0" and flag "T" which always resulted in ERR 11 (this combination is not designed in the OnCommand specification but obviously used.)

  • Simulation-Attributes - corrected a configuration problem, where Sim-attributes could not be added if the node was empty

  • Added new FIAS driver for "ACT-Egypt Minerva Connector" (FIAS_ACT)

  • Added new FIAS driver for "DigiValet" (FIAS_DGV)


New in 8.7.2.6

New in 8.7.2.6 (3 August 2010)

  • SLV - added option to process 'L' records as normal telephone posting

  • Added new FIAS driver for "Fidelisk – SmartSoft Srl" (FIAS_FDK)

  • Added new FIAS driver for "Intelity Integration Interface" (FIAS_III)

  • Added new FIAS driver for "Agora – Bridge129" (FIAS_AGB)

  • Added new FIAS driver for "Lucent Entertainment Center (LEC)" (FIAS_LEC)

  • Added new FIAS driver for "Opticom Engineering" (FIAS_OEB)

  • Added new FIAS driver for "ARES HOTELTV" (FIAS_AHT)

  • Added new FIAS driver for "Startec DT Lite" (FIAS_SDT)

  • Added new Micros 2700 driver for "Microsale POS" (M27_MAE)


New in 8.7.2.7

New in 8.7.2.7 (18 August 2010)

  • GAS - Added definable length for various fields:

    • GAS_AccountNumber_Length

Values: '6' - '9' Default:6

    • GAS_GuestName_Length

Values: '20' - '37' Default:20

    • GAS_GroupName_Length

Values: '5' - '8' Default:5

    • GAS_MessageNumber_Length

Values: '6' - '9' Default:6

  • Added new FIAS driver for "SL PMS Adapter" (FIAS_SPM)

  • SAT - added DID functionality

  • All POS-drivers - changed queries in the businesslogic to always post to the primary guest in multi-guest installations when no profile based posting is supported by the POS. (Suite8 only)


New in 8.7.2.8

New in 8.7.2.8 (13 September 2010)

  • FCS - minibar posting: use SalesOutlet "M" for short version of record type "12"

  • SRP - Added support for serially attached terminals

  • Added new XML-POS driver for "Skywalker - GLOBAL GOSSIP" (XML_POS_SKW)

  • Added new FIAS driver for "TwinCAT FIAS Server" (FIAS_TWC)

  • Added new FIAS driver for "IPTV Portal Service" (FIAS_IVP)

  • Added new FIAS driver for "SpaFlow Opera Interface" (FIAS_SPF)

  • Added new FIAS driver for "SnapTV Hotel-TV Portal" (FIAS_STH)

  • Added new FIAS driver for "Swifi Interface for Micros" (FIAS_SWI)

  • Added new FIAS driver for "Sharp - StarrSrvr.NET" (FIAS_SRR)

  • SOP - changed to protocol handling

    • now changing link-state to LinkError, if records are not answered within the configured timeout

    • corrected retry handling


New in 8.7.2.9

New in 8.7.2.9 (29 September 2010)

  • SQ3 - Added functionality for 3 additional itemizers

  • Added new XML-POS driver for "PLAZA POS SYSTEM" (XML_POS_PLP)

  • HTTP-Comm-layer: Added support for HTTPS-SSL certificates

  • SLV - Added one more housekeeping status

  • CC9: added parameter CC9_PeriodStartTimeOut - necessary for slow HTTP connections

  • HTTP-Comm-layer: added parameter HttpsCertErrIgnore - so that HTTP-errors can be overridden for testing

  • Added new FIAS driver for "STIX - SISTIC" (FIAS_STX)


New in 8.7.2.10

New in 8.7.2.10 (6 October 2010)

  • Smaller corrections to time-out handling with HTTP(s) Comm-layers

  • SRP - OCX_SRP_PrintWidth: allow value '0'

  • UNI - add missing UNI driver "UNI_IBT" for 'Isbel CAS'


New in 8.7.2.11

New in 8.7.2.11 (20 October 2010)

  • Added new FIAS driver for "Centralite RMS Cassia - Schneider" (FIAS_CTL)

  • FNT - allowed "1" as value in KeyOptions to activate a keyright

  • A44 - A44_Minibar_Format="2" is now generating postings with PostType="C" (was "M")

  • IfcBusi.Dll - corrected a problem in the printer-initialization routine where the host's computername was used in Terminal-Servcies environments instead of the client's name


New in 8.7.2.12

New in 8.7.2.12 (27 October 2010)

  • Added new FIAS driver for "Nevotek TV Interface" (FIAS_NVT)

  • Configuration - corrected a problem with a faulty component (only in installer of 8.7.2.11)


New in 8.7.2.13

New in 8.7.2.13 (3 November 2010)

  • SLV - Roomstatus: added support for (optional) Maid-ID

  • License-check on Suite8: The selected posting-criteria (e.g. by subtotal and outlet) was not reset properly in the configuration when the Enhanced-Posting license was inactive.

  • IfcBusi.Dll - Added option to disable poling of the local printer-configuration during loading (Can lead to slow Suite 8 startup in Citrix environments with 100+ printers)

the new feature can be activated through the System-tray-menu of the DLL:

  • Added new FIAS driver for "Hoist Serviator" (FIAS_HOI)

  • Added new FIAS driver for "SABO Elektronik" (FIAS_SAO)


New in 8.7.2.14

New in 8.7.2.14 (10 November 2010)

  • Added new FIAS driver for "Transakcio-Opera - Optima Technology" (FIAS_TSK)

  • Suite8: extend logic in PostInquiry: added PostAnswer.AnswerStat="IA" if IRMS_EXT_NUM does not exist (to allow error-code 2 for spectradynes)

  • GAS / LDG / TGL (and all related clones) - return error code 2 instead of 3 for AnswerStat "IA"

  • HT24 - Added support for SuiteInfo (maximum 3 additional rooms/doors)


New in 8.7.2.15

New in 8.7.2.15 (1 December 2010)

  • Added new FIAS driver for "iHotel by Intello" (FIAS_IHI)

  • Added new FIAS driver for "Aphrodite Spa" (FIAS_ASP)

  • Added new FIAS driver for "Inndoor" (FIAS_IDO)

  • HTTPs - corrections to timeout-handling

  • CC9 - corrections to printerhandling, when receipts are stored in the PMS (not currently released functionality)

  • ILU Added upport fir SuiteInfo (multiple rooms in KeyRequest)

  • ILU - corrected configuration: IFC8 would not re-initialize upon Application layer changes

  • SL6 - KeyDelete: added support for 605-record (INHIBT) which can be sent instead of record "015" for KeyDelete actions


New in 8.7.2.16a

New in 8.7.2.16 (14 December 2010)

  • CC9 - PrintOut: corrected a problem with multiple receipts when no standard printer was defined

  • CC9 - Error record (9999): created reply to related PMS request based on supplied fields and sequence number

  • Added new FIAS driver for "Galaxy Ticketing Systems" (FIAS_GTS)

  • Added new FIAS driver for "MOOW - REST PMS Interface" (FIAS_MOO)

  • Added new FIAS driver for "BTTV - BT Applied Technology" (FIAS_BTT)

  • Added new FIAS driver for "SiDC (Special Instrument Development Co., Ltd.)" (FIAS_SID)


New in 8.7.2 17

New in 8.7.2 17 (11 January 2011)

  • Icon - corrected a problem where the IFC8-icon could stay green in some case after connection to a vendor was lost. (This is a cosmetical change and has no technical influence.)

  • Suite8: V8_IFC_RESERVATIONSEARCH - added filter to exclude voucher-FAs

  • Added new MSC FIAS driver for "Vantage Infusion Controller" (FIAS_VIC)

  • Added new WWW FIAS driver for "Net Retriever" (FIAS_NRT)

  • Added new TMS FIAS driver for "SKT Hotel Mobilephone Service" (FIAS_SKT)

  • Added new WWW FIAS driver for "UBIS - FCS Computer Systems Sdn, Bhd." (FIAS_UBI)

  • Added new WWW FIAS driver for "rXg - revenue eXtraction gateway" (FIAS_RXG)


New in 8.7.2.18

New in 8.7.2.18 (19 January 2011)

  • OPERA - Added a default MerchantId to the OPERA-parser for those OPERA versions (<5.02.0.03) which do not send a MerchantId

  • CTG - added COS support to GuestIn

  • Added new MBS FIAS driver for "ADTS - Automated Data Transfer System" (FIAS_ADT)

  • Added new KSS FIAS driver for "Xeeder hotel lock" (FIAS_XHL)

  • Added new WWW XML-POS driver for "Radius Gateway-PMS" (XML_POS_RGP)


New in 8.7.2.19

New in 8.7.2.19 (8 February 2011)

  • IFC8 & IfcBusi - enhancements to performance when IFC is not running or when IFC is running and vendor not connected. (IfcBusi is not polling so much any more)

  • MNS - Added support for protocol version V1.05 - (incl. Top-Up authorizations)

  • MST - don't process incoming Key-Answer record if parser is configured to work without KeyAnswer

  • IMSQ - don't store clients computername in remote sessions if DNS is activated.

  • Zero-Charge Posting: corrections to handling with FIAS drivers: IFC was always posting, if TA=0.00, but itemizers had positive and negative amounts

  • Added new FIAS driver for "Cerebus" (FIAS_CRB)

  • Added new FIAS driver for "Kemaccs - Alfred Kaut GmbH" (FIAS_KAK)

  • Added new FIAS driver for "XpressDesk" (FIAS_XPR)

  • Added new FIAS driver for "Monet Energy Manager" (FIAS_MOE)

  • Added new XML-POS driver for "MemGolf" (XML_POS_MGO)

  • Added new XML-POS driver for "SoftPOS" (XML_POS_SFP)

  • Added new XML-POS driver for "Oscar POS - Torex Finland" (XML_POS_OTF)

  • Added new driver for "Orion EMS" (ORI)


New in 8.7.2.20

New in 8.7.2.20 (15 February 2011)

  • ILU - removed field separator between multiple roomnumbers (suites)

  • Added new FIAS driver for "Viapass Hotel Services" (FIAS_VIA)

  • Added CardId-attribute in preparation for the 'Tokenization' project with Opera.


New in 8.7.2.21

New in 8.7.2.21 (9 March 2011)

  • Added new BMS FIAS diver for "F-Link for HRMS" (FIAS_FLI)

  • YAL: added parameter for username translation

  • TLP/TLP_VCP - Added functionality to remove a trailing "FF" from the incoming Track2 in KeyAnswer in case the Track2 is 16 characters long instead of 14. (Micros POS will only inquiry for 14 characters.)


New in 8.7.2.22

New in 8.7.2.22 (16 March 2011)

  • Added new FIAS KSS driver for "HSC – Fidelio, Proderes Software" (FIAS_HCP)

  • Added new FIAS WWW driver for "EthoStream HSIA" (FIAS_ETH)

  • Multiple IFC-objects: corrected a problem where the configuration would fail with "Index out of bounds" when more then 15 IFC-objects were configured and used.


New in 8.7.2.23

New in 8.7.2.23 (29 March 2011)

  • Multiple-Objects: Corrected a problem where the internal LinkAliveRequest was not processed properly in case of MultiIfc-Objects with fast & simultaneous connect attempts

  • Printing: Added workaround to handle "PDFCreator", which does not provide PaperTray properties.

  • MNS - CpSettl: always use TransactionType 1 for refunds (Sokos enhancement)

  • Added new WWW FIAS driver for "ProCurve Mobility Access Controller" (FIAS_PRC)


New in 8.7.2.24

New in 8.7.2.24 (6 April 2011)

  • Added new XML-POS driver for "Visual Hotal Full Pdv" (XML_POS_VHF)

  • CAX: Added "LinkEndOnNightAudit" parameter, which allows to not end connects during Night-Audit.

  • MNS - added option to disable EFT replies with RequestType=64 (printout notification)


New in 8.7.2.25

New in 8.7.2.25 (26 April 2011)

  • MNS - Use direct/internal printing if printout notification is disabled (Print-Data cannot be sent to the PMS if records with RequestType="64" are disabled)

  • Added new TMS FIAS driver for "Frontige - Evergreen Mobile" (FIAS_FEM)

  • SL6 - KeyLevel for suites: use level 2 or 3 depending on number of suite rooms -

  • Added new VSS FIAS driver for "QMS - Qubitmediasoft" (FIAS_QMS)


New in 8.7.2.26

New in 8.7.2.26 (17 May 2011)

  • Added new field "TRAVELAGENTNAME" to V8_IFC_RESERVATIONSEARCH

  • HXQ - added option to remove leading zeros from SalesOutlet

  • M87POS - Added support for voucher redemption (Suite8-Only)

  • M87POS - Reservation-ID field: use max. length of 30 instead of 8 if Version if >= FOUX2.5x

      • 9700: V.2.60, "FOUX2.60.0" (May 2012)

      • 3700: V.5.00c, "FOUX2.5.01" (May 2012)

  • M87POS - Added support for ChargePost2 functionality (PostList: added CreditLimit, NoPost, DefRef36 (adults), and DefRef37 (kids) to schema)

  • M87POS - added support for postings via GuestNum with discount support

  • M87POS - added support for adult/kid field via DefRef

  • Added new DLS FIAS driver for "AVE Spa - Domina Hotel" (FIAS_ASD)

  • Added new TMS FIAS driver for "3CX Hotel Module for 3CX Phone System" (FIAS_3CX)

  • Added new XML-POS driver for "Easyrent POS" (XML_POS_EYP)

Note: none of the about M87POS changes are supported by any released Micros-System yet. (May 2011)


New in 8.7.2.27

New in 8.7.2.27 (24 May 2011)

  • PIT - Added WsNum to PostList and PostAnswer schemas to allow cross-posting functionality


What's new in 8.7.3.0 ?

What's new in 8.7.3.0 ? (8 June 2011)

  • General changes have been made to the printing concept. Until 8.7.2.27 all printers had been allocated by their index ID (assigned by Windows). However this ID can get changed when someone accesses the PC with RDP and shared printers. In order to overcome this support issue the printer procedures have been rewritten to now use printer-names.

Note: You need to manually re-configure printing when upgrading to IFC8 >= 8.7.3.0 in case printing is active

  • CCC - Removed unnecessary Track(x)-attributes from CcSettl-In-schema

  • FIAS/XML - enhanced masking of CC-Data in monitoring/logfiles

  • MNS - Added new parameter: MNS_PrintReceiptOption

Values: "A" = print receipt for all settl. "B" = print receipt for successful settl. only

  • Added new VSS driver for "AvediaServer Portal Module" (FIAS_AVP)

  • Added new VSS driver for "TELUS TV Service"(FIAS_TTS)

  • Added new BMS driver for "Lcon - Lcontrol" (FIAS_LCL)


New in 8.7.3.1

New in 8.7.3.1 (22 June 2011)

  • LAS - added option to ignore DB swap requests

  • MNS - added more options to select when a receipt should be printed

  • Added default AnswerStatus in French (IERR and M87POS)

  • Added new MSC FIAS driver for "TMS – Hotel Connect - TIBA Parking" (FIAS_TIB)

  • Added new BMS FIAS driver for "Philips Dynalite Hotel RMS Gateway" (FIAS_PDH)

  • Added new VSS FIAS driver for "TVInn Middleware" (FIAS_TVM)

  • Added new MBS FIAS driver for "Messerschmitt Hocas-Minibar System" (FIAS_MHM)

  • Added new MSC FIAS driver for "Logiclink PMS Interface" (FIAS_LGL)

  • Added new TMS FIAS driver for "Telesoft - PMSI-BRIDGE" (FIAS_TPB)

  • Added new XML-POS driver for "GastroAssistant" (XML_POS_GSA)


New in 8.7.3.2

New in 8.7.3.2 (11 July 2011)

  • Added new WWW FIAS driver for "M-Auth - M3 Connect GmbH" (FIAS_MA3)

  • Added new BMS FIAS driver for "HotelNET - EMS" (FIAS_HNE)

  • Added new PBX FIAS driver for "MHC (MyHotelCharge) - TRIAS" (FIAS_MHC)

  • Added new XML-POS driver for "Rest’Office - SPIRAL RMA" (XML_POS_RSR)

  • MNS - IsReceiptPrintoutEnabled: check field value case independent (i.e. check for "YES" and "Yes")


New in 8.7.3.3

New in 8.7.3.3 (13 July 2011)

  • MNS - removed unused reading of MNS_PrintReceiptOption parameter

  • Added new BMS FIAS driver for "MYKEY RCU MANAGE" (FIAS_MYK)


New in 8.7.3.4

New in 8.7.3.4 (17 August 2011)

  • GSV - XCKI: send RCKO flag according to VideoRight value (was not sent at all before)

  • ILU - added field separator between multiple roomnumbers (suites) again as advised by vendor (Kaba): the separator should be sent as '1C' (like in driver version V1.5)

  • Added new VSS FIAS driver for "Citrus 2 - Tangerine Global" (FIAS_C2T)


New in 8.7.3.5

New in 8.7.3.5 (30 August 2011)

  • M87POS - added support for voucher postings (Suite8 only)

  • M87POS - PostAnswer: increased length of ClearText to 64 bytes

  • Added new MSC FIAS driver for "FMS – FCS UIS" (FIAS_RsOut_FMF)

  • SL6 - added another option for parameter SL6_SuiteHandling (specific Saflok setup where Saflok cannot support their Keylevel='3' )


New in 8.7.3.6

New in 8.7.3.6 (7 September 2011)

  • PrintOut (general function): added additional check for empty (or blank only) messages

  • CC9 - suppress printing of empty pages (could lead to "SystemErrNum:14 , Description:Out of string space")

  • Added new WWW FIAS driver for "IntGS - G&S Tecnologia e Conectividade" (FIAS_ITG)

  • Added new VSS FIAS driver for "HotelNET - iTV" (FIAS_HNI)

  • Added new KSS FIAS driver for "Locstar Mifare Hotel Locks System" (FIAS_LMH)


New in 8.7.3.7

New in 8.7.3.7 (21 September 2011)

  • SessionId validation: don't validate the SessionId if IFC8 is started as a service under WinOS>=VISTA

  • M87POS - made MaximumGuestsNum configurable (default: 20)

  • Added new WWW FIAS driver for "Mikenopa FIAS interface" (FIAS_MIK)

  • Added new WWW FIAS driver for "TIBS - TERABYTE Internet Billing System" (FIAS_TIS)

  • Added new MBS FIAS driver for "Maxebar Vending Solution" (FIAS_MVS)

  • Added new POS driver for "MICROS Simphony" (M87POS_SPH)


new in 8.7.3.8

New in 8.7.3.8 (6 October 2011)

  • NC1 - added a new option to keep or remove leading zeros in the RoomNumber field in all incoming records

  • FIAS - changed DataResyncOption default to 2 (= ignore incoming DB-Swap requests for the first 60 seconds after LinkAlive was established.)

  • PPC/PPV - corrected double processing of incoming DB-swap request

  • Added new VSS driver for "InnTv by Media Hotel Sp. z o.o" (PPC_IMH)

  • Added new WWW driver for "HTS Gateway" (XML_POS_HTG)


New in 8.7.3.9

New in 8.7.3.9 (28 October 2011)

  • OPERA-Multi-property-posting: Added error-handling for the case that an POS-inquiry is sent to multiple OPERA-instances and one of them misses to send a response. This could lead to IFC8 sitting in an endless waiting loop and further posting-responses to this workstation would not be processed.

  • Added new VSS FIAS driver for "PMSi by Qubic.tv" (FIAS_PQB)

  • Added new VSS FIAS driver for "VoDKATV IPTV SOLUTION" (FIAS_VDK)

  • Added new EFT FIAS driver for "Nomad EFT" (FIAS_NMD)

  • Added new MSC FIAS driver for "Informatec – Track2 Enabled" (FIAS_IT2)

  • Added new BMS SAE driver for "Digilink Controller" (SAE_DGL)

  • Added new WWW XML-POS driver for "WebGateway – Guglielmo Srl" (XML_POS_WGG)

  • Added new POS XML-POS driver for "DMSQL Money Card – DM Informatica" (XML_POS_DMS)


New in 8.7.3.10

  • Logfile: corrected a problem, where the OS-version wasn't placed into the logfile anymore on some systems

  • Logfile: added information to show if IFC8 was installed/started as a service

  • M87POS: Added DefRef35-DefRef37 to the list of defaults

  • M87POS_SPH - corrected default checksum (was "N" - is now "M87CS")

  • Added new FIAS driver for "Aastra 400" (FIAS_AA4)

  • Added new FIAS driver for "HRS - HRS CCA Interface (Chip & PIN support)" (FIAS_HRC)

  • Added new FIAS driver for "MicrosenseFIAS" (FIAS_MSF)

  • Added new FIAS driver for "Intelligent Room Infotainment System (IRIS)" (FIAS_IRS)

  • Added new XML-POS driver for "SpaOne" (XML_POS_SPO)


What's new in 8.7.4.0 ?

What's new in 8.7.4.0 ? (25 November 2011)

  • M87POS - Added support for voucher-redemption

Note: is it imperative to re-run automatic IERR & IDRF configuration for this feature !! All existing records must be replaced.

  • SMS - Added option to use extension translation

  • Added new FIAS driver for "Hibox Hotel.TV" (FIAS_HHT)


New in 8.7.4.1

New in 8.7.4.1 (7 December 2011)

  • Error-email: added encrypting and masking of "PassWord" attribute/parameter in the config.xml

  • Error-email: added support for MS-CDO (Microsoft Collaboration Data Objects)

  • Error-email: added support for SSL (MS-CDO only!!, e.g. for Gmail)

  • Error-email: added support for (optional) specific port configuration for an SMTP-server

  • MST - Added error handler to the receive-function (RoomNumber="0000" wasn't processed correctly)

  • UQY - Added error handler to the receive-function (RoomNumber="0000" wasn't processed correctly)

  • ITC - corrected reversed usage of ITC_SendSharerCheckin parameter

  • Added new KSS FIAS driver for "Pegasus - HCS S.r.l" (FIAS_PGS)

  • Added new KSS FIAS driver for "Hotek Keycard Interface" (FIAS_HTK)

  • Added new EFT FIAS driver for "Sipay" (FIAS_SPY)

  • Added new KSS FIAS driver for "Hotel PMS - WFE Technology" (FIAS_WFE)

  • Added new BMS FIAS driver for "Room Control - Guangzhou Se Young Electronics" (FIAS_GGZ)

  • Added new BMS FIAS driver for "Room Control - ShangHai BESO Electronic" (FIAS_SHB)


New in 8.7.4.2

New in 8.7.4.2 (16 December 2011)

  • Added new WWW FIAS driver for "WiFi Interface for PurePages" (FIAS_WFP)


New in 8.7.4.3

New in 8.7.4.3 (11 January 2012)

  • UNI - added support for maid-id (UserID) in roomstatus record (added parameter UNI_RS_MaidIDStart and UNI_RS_MaidIDLen)

  • Added new WWW FIAS driver for "Vistagate Charging Interface" (FIAS_VTG)


New in 8.7.4.4

New in 8.7.4.4 (18 January 2012)

  • MNS - use default expiry date (systemdate + 1 year) for incoming records, if the expiry date is not supplied by Manison/NETS


New in 8.7.4.5

New in 8.7.4.5 (19 January 2012)

  • M87POS - IFC_CHG_SEL2: return additional error message if no guest was found

  • M87POS - IFC_RESV_PST answer: always add slash to guestname, even if no roomnum is supplied

  • M87POS - added parameter M87POS_PostAnswerNameOption

  • Added new FIAS driver for "INNControl 3" (FIAS_IN3)

  • Added new LDG driver for "InnView by InnVue" (LDG_IVI)

  • Added new XML-POS driver for "QuadraNet EpoS v5" (XML_POS_QNE)


New in 8.7.4.6

New in 8.7.4.6 (1 February 2012)

  • XML-POS - Added LinkStart as sanitycheck (incoming LinkStart will be responded with a LinkAlive, if the Linkstatus is 'alive' (i.e. all lamps are green.)

  • changed FKT_LOGO from LDG_IVI to LDG_IVV due to name conflict with XML_IVI

  • Added new XML-POS driver for "GTS - IREC SAS" (XML_POS_GIS)

  • MNS - Added support for CcCourtesy with RequestType="128" so that Loyalty-card-numbers can be read on the terminal from a chip.

  • Added new WWW FIAS driver for "Danmagi" (FIAS_DMG)


new in 8.7.4.7

New in 8.7.4.7 (29 February 2012)

  • N24 - added logic to process time from WakeupResult record

  • M2K - added support for language, VIP, and DND records (parameter driven)

  • SMS - don't use GuestFormattedname if disabled by LinkPmsConf->PosGfnInPI:0 (= configuration),

  • Suite8: Added support for NoPost handling with Financial-Accounts (FAs) - requiring a current version of Suite8 (8.9.2.0) -> start IFC8 with "+V" to generate new views.

  • SMS/KDR - Added WsNum handling

  • Added new driver for "KDR Gold POS" (KDR)

  • Added new FIAS driver for "PWLAN HSPGW - Swisscom" (FIAS_PWL)

  • Added new FIAS driver for "Spectracard 3 - Payzone Nordic" (FIAS_SC3)

  • Added new XML-POS driver for "KASSAPANKKI" (XML_POS_KSP)


New in 8.7.4.8

New in 8.7.4.8 (27 March 2012)

  • Added new BMS FIAS driver for "Room Control - WuXi BoLang" (FIAS_RWX)

  • Added new WWW FIAS driver for "Blueprint RF PMS Interface" (FIAS_BRF)

  • Added new WWW FIAS driver for "Cirrusworks Data" (FIAS_CWD)

  • Added new BMS FIAS driver for "RoomView by Crestron" (FIAS_RVC)

  • Added new MSC FIAS driver for "LANCOM PS (unlimited) Fidelio Extension" (FIAS_LCP)

  • Added support for creditlimit-checking for all POS-drivers which do not post by PostListItem (e.g. for all FIAS drivers)

  • M87POS_SPH - corrected an issue where the wrong FKT_LOGO was exchanged with Opera.

  • XML_POS - corrected a problem, where no LinkAlive was sent to the vendor system, if the vendor reconnected without TCP-disconnect.


New in 8.7.4.9

New in 8.7.4.9 (30 March 2012)

  • IHV: Configuration: add IHV_KeyOption_0 item to KeyOptions section, if no items are defined

  • M87POS - Changes to global trimming functions, so that Double-Byte-characters in a GuestName are not cut in the middle anymore, if the maximum length of a name-field is reached. IFC8 will now remove the complete character.


What's new in 8.7.5.0 ?

What's new in 8.7.5.0 ? (19 April 2012)

  • M87POS_SPH - corrected an issue where no FKT_LOGO was exchanged with Opera. (broken since 8.7.4.8)

  • Added new MSC FIAS driver for "Samfex Service & Maintenance management" (FIAS_SFS)

  • Added new MSC FIAS driver for "Samfex Service & Maintenance management Room Status" (FIAS_RsOut_SSR)

  • Added new KSS FIAS driver for "Desigo Hotel – Siemens Italia S.p.a." (FIAS_DSG)

  • Added new BMS FIAS driver for "Room Control Unit - Dalian Guangdian Intelligent Electronics Co., Ltd" (FIAS_RCU)

  • Added new XML-POS driver for "Firesnow by Firesoft" (XML_POS_FSF)

  • Smaller corrections to handling of POS-voucher-postings


New in 8.7.5.1

New in 8.7.5.1 (25 April 2012)

  • DB-Swap - remove DB-Swap option from configuration in case multiple objects exist (e.g. 1 IFC and 2 PMS objects: DB-Swap can now only be requested in the IFC-object. Doing it in the PMS objects would have required requesting it in all objects separately.)

  • Added new VSS FIAS drievr for "Meteor SE - Imaginesoft" (FIAS_MIS)


New in 8.7.5.2

New in 8.7.5.2 (10 May 2012)

  • M2K - corrected length of language-record

  • Logfile: Added remote TCP address of connecting system. when IFC8 runs as TCP-server

  • Added new POS FIAS driver for "Gubi SPA" (FIAS_GUB)

  • Added new WWW FIAS driver for "Liberty-i PMS01 Interface" (FIAS_LBT)

  • Added new POS XML-POS driver for "Apro Kassensysteme" (XML_POS_APR)

  • Added new POS XML-POS driver for "Finnpos System Oy" (XML_POS_FSO)

  • IERR - added ClearText in PostAnswer.

  • IERR add "SubStr" functionality, so that returned values can be trimmed (necessary for M87, where the reference cannot be longer than 19 characters)

  • M87POS - IERR defaults: added explicite IERR-Record for Action-Type="PostAnswer" in case of positive Voucher-reponses

  • IHV: generation of defaults in the config.xml: changed IHV_KeyOption_xxx to _KeyOptions_xxx (with s)


New in 8.7.5.3

New in 8.7.5.3 (22 May 2012)

  • Added new TMS FIAS driver for "Intermezzo by Libéo" (FIAS_IMZ)

  • IERR - corrected a problem, where KeyAnswer could not be processed, if no default values are configured in IERR (since 8.7.5.2)


New in 8.7.5.4

New in 8.7.5.4 (15 June 2012)

  • Small correction to errorhandling in case of invalid IDCO_POST_TYPE configuration

  • IfcBusi - new logfile logic to better show situations, where a TCP SendTimeOut occurs due to high CPU usage


New in 8.7.5.5

New in 8.7.5.5 (4 July 2012)

  • CC9 - added another value to parameter CC9_PrintReceiptOption to support printing of receipts for "all settlements and unsuccessful authorizations"

  • M2K - added option to executer DB-swap requests from Mitel without RoomEquipment records (only GI/GO) (new value in 'M2K_SwapMode')

  • MNS - fill TransNum with last 20 chars of ArchiveRef content

  • M87POS - added new parameter 'M87POS_ErrorCode_Options ' to enable support for extended error codes for vouchers (not currently supported on the Micros system)

  • Added new VSS FIAS driver for "HotelTV - T - Hrvatski Telekom d.d." (FIAS_HTH)

  • Added new TMS FIAS driver for "Calltax Hospitality by Flexcom" (FIAS_CHF)

  • Added new KSS FIAS driver for "CEPO Door Lock system" (FIAS_CEP)

  • Added new VSS FIAS driver for "ALCAD IPTV SOLUTION" (FIAS_ALC)

  • Added new POS XML-POS driver for "Horest Concierge Pay" (XML_POS_HCO)


New in 8.7.5.6

New in 8.7.5.6 (8 August 2012)

  • Added new WWW FIAS driver for "Netsafe UTM" (FIAS_NUT)

  • Added new WWW FIAS driver for "Wiera PMS interface" (FIAS_WIE)

  • Added new VSS FIAS driver for "OTT Mediagate.tv" (FIAS_OTM)

  • Added new BMS FIAS driver for "HOL 2009 Enterprise" (FIAS_HOL)

  • Added new BMS FIAS driver for "Dalitek Intelligent Room Control Unit" (FIAS_DAL)

  • Added new BMS FIAS driver for "Loxone Hotels - Loxone Electronics GmbH" (FIAS_LOX)

  • Added new EFT driver for "ZVT - Telecash Artema Modular ZVT Terminal" (ZVT)

  • Added new TMS FIAS driver for "Tlumacz for Platan" (FIAS_TLZ)


New in 8.7.5.7

New in 8.7.5.7 (12 September 2012)

  • Internal license checking: corrected handling for M27_INK

  • Added new BMS FIAS driver for "Hefei MR Electronic" (FIAS_HEF)

  • Added new BMS FIAS driver for "GARAM - Guestroom management system" (FIAS_GAR)

  • Added new MBS FIAS driver for "MenuApp - NetStart Pty Ltd" (FIAS_MEU)

  • Added new TMS FIAS driver for "Utelisys PBX FIAS Interface System" (FIAS_UTE)

  • Added new MSC FIAS driver for "SynergyMMS" (FIAS_SYM)

  • Added new XML-POS driver for "NetPOS.Net -Samford Software" (XML_POS_NPN)


New in 8.7.5.8

New in 8.7.5.8 (10 October 2012)

  • HT24 - added option to suppress sending of KeyDelete

  • SLK/SL6 - added option to select value for pass # option

  • "V8_IFC_RESERVATIONSEARCH": minor simplifications in part "get possible ORDER/WHERE conditions"

  • PROT: ISO/ISOA: corrected problem in DLE calculation of received record (e.g. if checksum contains DLE)

  • IfcBusi: show date and version info in LogFile

  • IfcBusi Logfile: modified System_Idle_Time_Min 0.0001 --> 0.001 (shorter then 0.1msec makes no sense)

  • IfcBusi Logfile: enhanced logging of TCP send actions

  • Added new BMS FIAS driver for "The APPARENT Energy Manager" (FIAS_APP)

  • Added new BMS FIAS driver for "E-Think Intelligent Hotel Guest Room Control System" (FIAS_ETK)

  • Added new POS FIAS driver for "METRA LCC NET system" (FIAS_MTA)

  • Added TCP support to existing FIAS driver: FIAS_DR2


New in 8.7.5.9

New in 8.7.5.9 (24 October 2012)

  • ZVT - smaller corrections for problems which were found in final testing.

  • ZVT: added parameter ZVT_TerminalID

  • MIA: changed checksum default for TCP/IP to CKS_XOR

  • Added new BMS FIAS driver for "Hotel Guestroom Control And Management System - Wuxi SAIL" (FIAS_WUX)

  • Added new BMS FIAS driver for "OVICNET - Hotel intelligent information application platform" (FIAS_OVH)

  • Added new VSS FIAS driver for "Sunlight Hotel interactive TV System" (FIAS_SLH)

  • Added new BMS FIAS driver for "MOMA OPLUS ROOM CONTROL SYSTEM" (FIAS_MOM)


New in 8.7.5.10

New in 8.7.5.10 (5 November 2012)

  • Added new driver for "Yale Vending Machine" (YAV)

  • Added support for 'Session 0 Isolation', so that IFC8 can be shown on a Windows7 desktop, when running as a service

  • Added new TMS FIAS driver for "MicroBX" (FIAS_MRB)

  • Added new VSS FIAS driver for "cHar desarrollo PMS Link" (FIAS_CHD)

  • Added new WWW FIAS driver for "Identity Manager - Meru networks" (FIAS_IMN)


New in 8.7.5.11

New in 8.7.5.11 (21 November 2012)

  • ZVT - corrections to handling of CR/LF in Printouts

  • New BMS FIAS driver has been added for "IRMS - Creston Asia Ltd" (FIAS_ICR)

  • Multi-Property-Postings: corrected a problem, where merging of PostLists from different PathIds would not work under all circumstances. The problem can lead to situations, where IFC8 sends a wrong PostListItemnum to a selected Path. It only happened when PostListItemnum>1 and a large list of items.

  • IfcBusi.Dll : added Error_Handler in the tray-icon so that no error "Error 6 overflow" is thrown when the mouse is moved over the icons without clicking anything. (Windows7 only)


What's new in 8.7.6.0 ?

What's new in 8.7.6.0 ? (29 November 2012)

  • ZVT - Added CardType translation

  • CC9 - added option to suppress all Cc*-Schemas, only C&P transactions are supported

  • Added new EFT FIAS driver for "G.B Premium LTD" (FIAS_GBT)

  • Added new WWW FIAS driver for "Zoox Media & Connectivity" (FIAS_ZOX)

  • Added new field ICRD_TRACK3_CHAR which is filled with the beginning 256 characters of ICRD_Track3 data for reporting purposes - a clone of ICRD_TRACK3, which cannot be used for reporting ,as it is a long-field.


New in 8.7.6.1

New in 8.7.6.1 (12 December 2012)

  • FIAS_GBP: fixed typo (changed FKT-logo definition from GBT to GBP)

  • Added new BMS FIAS driver for "Rooms Management System - Estech Co., Ltd" (FIAS_ROS)

  • Added new POS XML-POS driver for "BaccoHotelFidelio – Verona Software" (XML_POS_BHF)


New in 8.7.6.2

New in 8.7.6.2 (18 December 2012)

  • Added new TMS FIAS driver for "THING5 – MICROS-Fidelio Interface" (FIAS_THI)


New in 8.7.6.3

New in 8.7.6.3 (10 January 2013)

  • M2K - VIP record: send "0" instead of " " after VIP code (request from Mitel)

  • FNT - added option to configure the access code value for key rights which are not set ("N" or "0")

  • Added new BMS FIAS driver for "Hotel guest room management software - Smartzk" (FIAS_HSM)

  • Added new TMS FIAS driver for "3C JDS PMSI" (FIAS_3CJ)

  • Added new KSS FIAS driver for "MIDAS Electronic Door Locks" (FIAS_MDD)

  • Added new EFT FIAS driver for "ConexFlow" (FIAS_CXF)

  • Added new MSC FIAS driver for "OKANDGO" (FIAS_OKA)


New in 8.7.6.4

New in 8.7.6.4 (7 February 2013)

  • Ifc8ComEx.Dll - Added support for WCF (not in use yet)

  • Ifc8ComEx - added support for registration of the DLL under Win7 while not running as Administrator (IFC8 will ask for privileges during runtime)

  • Added new MSC FIAS driver for "Gyeyoung - Parking Management System" (FIAS_GYE)

  • CTG - Added option to send 4 trailing blanks in the language record (necessary for some CTG clones)

  • Added new KSS FIAS driver for "Artes Brassco" (FIAS_ART)

  • Added new POS XML-POS driver for "xchangexec - Task Retail Technology" (XML_POS_XGX)


New in 8.7.6.5

New in 8.7.6.5 (19 February 2013)

  • WCF - further enhancements (still not released) - Note, these changes are mainly done in Ifc8ComEx.Dll

  • Enhanced internal functionality to check if a configured port is in use - (IFC will try to automatically change to a different internal port for Suite8 connections)

  • Added new VSS FIAS driver for "VeeTV System V1.00" (FIAS_VEE)

  • Added new KSS FIAS driver for "Smarteh Fidelio Interface" (FIAS_SMH)


New in 8.7.6.6

New in 8.7.6.6 (28 February 2013)

  • M2K -- Send VIP-code from translation in the Config.Xml and not a hardcoded '1'

  • WCF-Comm-Layer - further modifications and enhancements

  • Added new WWW FIAS driver for "Inventum Micros Connector" (FIAS_IVT)

  • CC9 - changed default for CC9_ChipAndPinOnly to "N"

  • Added new POS FIAS driver for "Book4Time PMS Interface" (FIAS_BK4)

  • Added new WWW FIAS driver for "Viapass Internet Services" (FIAS_VPI)


New in 8.7.6.7

New in 8.7.6.7 (22 March 2013)

  • Various smaller enhancements for Fuidelio Websuite logic (mostly in IfcBusi.Dll)

  • Added new KSS FIAS driver for "SafeKing Locking System" (FIAS_SKL)

  • Added new VSS FIAS driver for "TNG Video System" (FIAS_TNG)

  • Added new VSS FIAS driver for "Ocilion IPTV PMS Interface" (FIAS_OIP)

  • Added new VSS - FIAS driver for "Hirschmann Hospitality Suite" (FIAS_HHS)

  • Added new MSC FIAS driver for "SBU - JAYBEE Systems Ltd" (FIAS_SJB)

  • Added new XML-POS driver for "Nymphea XML-POS" (XML_POS_NYM)

  • Added new XML-POS driver for "Mercaturia - CASHplus" (XML_POS_MCP)

  • Crossposting: added an enhancement: IFC will not verify the target PathId from PostListItem-queue in addtion to the extension queue, if a POS-driver was setup with extensions in IRMS/IFC_ROOM This problem was found when a site was setup with part of the cross-posting Hotels with IFC_ROOM setup and some without, but still with duplicated roomnumbers. As a result the postings were sent to the wrong guest.

  • TLP - added Track2_Outgoing_RFID mode for track2 (future project with O2G)


New in 8.7.6.8

New in 8.7.6.8 (11 April 2013)

  • M87POS - Added specific handling for Code-Page 932 (DBCS JAPAN), some characters were wrongly encoded before

  • Codepage: general corrections for DBCS THAI (874)

  • Codepage: general corrections for DBCS JAPAN (932)

  • Added new MSC FIAS driver for "DP11000 PARCS by Datapark" (FIAS_DPD)

  • Added new VSS FIAS driver for "InnSpire Intelligent Hotels AB" (FIAS_IIH)

  • Added new XML-POS driver for "1C - Smart Business Solutions SIA" (XML_POS_S1A)


New in 8.7.6.9

New in 8.7.6.9 (17 April 2013)

  • XML-POS - Added "PostingDescription" (ClearText) to PostinRequest, so that external systems can transfer a stringvalue with supplemental information

  • C9 - Corrected "Routing reference not found" which was thrown for every response due to incorrect queuehandling of KeyCoder by IFC8.

  • Added new TMS FIAS driver for "HotelNET – PBX" (FIAS_HNP)


New in 8.7.6.10

New in 8.7.6.10 (2 May 2013)

  • ZVT - Added "WsNum" to Nightauditrecords, so that a specific printer can be selected for the NightAudit-Workstation

  • Added new VSS FIAS driver for "TBISvod - Net Bridge Co.,Ltd." (FIAS_TNB)

  • Added new WWW FIAS driver for "POWER2WIFI – N2S" (FIAS_P2W)


New in 8.7.6.11

New in 8.7.6.11 (17 May 2013)

  • Added new TMS FIAS driver for "SPMS - Eurocom" (FIAS_SEC)

  • Added new TMS FIAS driver for "Hospitality Service Center V2.6 (HSC V2.6)" (FIAS_HPT)

  • changes to the HTTP-client, corrected a problem where schemas could get corrupted during initialization


New in 8.7.6.12

New in 8.7.6.12 (30 May 2013)

  • MNS - removed AudittrialNum from schemas if MNS_ReceiptId_Content="G"

  • Added new WWW FIAS driver for "PMS Guest Application by Single Digits" (FIAS_PGA)

  • Corrections to internal queue handling

    • corrected a problem, where some duplicate POS records were not recognized as double-posting

    • corrected a problem where some Check-Details were not duplicated during cross-posting


New 8.7.6.13

New 8.7.6.13 (30 May 2013)

  • CC9 - Added token fields & records (just provisional, not operational on 3C side yet)

  • HTTP-client - smaller corrections in re-initialization handling

  • Added new BMS FIAS driver for "Beijing VControl - HRC-IF-Fidelio" (FIAS_BVC)

  • Added new WWW FIAS driver for "Valuepoint HSIA (NC35xx-NC36xx)" (FIAS_VLP)

  • Added new TMS FIAS driver for "AlwinPro Hotel - Aurenz GmbH" (FIAS_APH)


New in 8.7.6.14

New in 8.7.6.14 (25 June 2013)

  • IfcBusi - corrected a problem with memory pointers (There are no problems with current versions of Suite8, it was only leading to issues with pre-releases of version 8.10)

  • Added new TMS FIAS driver for "Vericom IP-PBX – Urmet Nesit" (FIAS_VCU)

  • Added new VSS FIAS driver for "VISION - Hotel Technics Kft." (FIAS_VHT)

  • Added new TMS FIAS driver for "MobiCall PBX" (FIAS_MOB)


New in 8.7.6.15

New in 8.7.6.15 (24 July 2013)

  • CC9 - CreditcardNum was mandatory in token-enviroment, this was corrected.

  • FIAS - Replace 'Pipe'(7C) with 'Semicolon'(3B) in outgoing message-text to preserve the integrity of the protocol

  • Added new TMS FIAS driver for "HTF1 - HotTel Mobile Pte. Ltd" (FIAS_HTF)

  • Added new VSS FIAS driver for "Nevaya IPTV-HSIA by Hotel Broadband" (FIAS_NVY)

  • Added new MSC FIAS driver for "IP Light hotel tv system - Mikro Sonic kft" (FIAS_IPL)

  • Added new POS XML-POS driver for "ISD Hotel Interface - ISD LLC" (XML_POS_ISD)

  • Added new VSS FIAS driver for "Pixage Hospitality - Koc Sistem" (FIAS_PXG)

  • Added new BMS FIAS driver for "INCOS -Messerschmitt Systems AG" (FIAS_IMS)

  • Added new VSS FIAS driver for "OneView Media by Guest-tek" (FIAS_OVM)

  • Added new BMS FIAS driver for "RMS(Room Management System) - Mnextec Inc" (FIAS_RMX)


New in 8.7.6.16

New in 8.7.6.16 (14 August 2013)

  • Added new KSS FIAS driver for "Door Lock System - Estech Co., Ltd" (FIAS_EST)

  • Added new POS FIAS driver for "SKY Horizon" (FIAS_SKZ)

  • Added new VSS FIAS driver for "Claro IPTV FIAS Mediator" (FIAS_CLA)

  • Added new TMS FIAS driver for "RVS(Rmd Voice Servicer)" (FIAS_RVS)

  • Added new VSS FIAS driver for "Hotel Smart TV - Snowdropsoft" (FIAS_STV)

  • Added new BMS FIAS driver for "DH900-SPC - LDS Intelligence Technology" (FIAS_DH9)

  • SOP: added parameter SOP_PostRoutePosition


New in 8.7.6.17

New in 8.7.6.17 (11 September 2013)

  • Added new CAS UNI driver for "Sotelho - Factory Systems" (UNI_SFU)

  • Added new WWW FIAS driver for "TOUCH - ICS" (FIAS_TCH)

  • Added new VSS FIAS driver for "Fingi - JCMR Co. Ltd. Fingi Inc." (FIAS_FGJ)

  • HTTP-Comm layer: smaller corrections


New in 8.7.6.18

New in 8.7.6.18 (2 October 2013)

  • IfcBusi.Dll - Added "date" to logfiles

  • IFC8/IfcBusi.Dll - General corrections to sharer-handling (relates to changes >= PMS version 8.9.4.2)

  • Error-Email: Added "LinkAlive-TimeOut-Error", so that error mails can be generated if IFC8 has not been in "LinkAlive" state for a configured amount of time

  • Added new TMS FIAS driver for "Phonex Pro - Megatel" (FIAS_PPM)

  • Added new TMS FIAS driver for "HotelPBX - T - Hrvatski Telekom d.d." (FIAS_HPH)

  • Added new VSS FIAS driver for "HIMCP - Sunrise" (FIAS_HIM)

  • Added new VSS FIAS driver for "TASCAN Connector" (FIAS_TAS)

  • Added new TMS FIAS driver for "WBS_VOIP_PMS Interface - M3 Connect" (FIAS_WM3)

  • Added new CAS UNI driver for "Aastra OpenCom 100/130/150/320/510" (UNI_AAU)

  • Added new WWW FIAS driver for "Loop21 PMS Interface" (FIAS_L21)

  • Added new WWW FIAS driver for "GuestTrack" (FIAS_GUE)

  • Added new WWW FIAS driver for "handy Micros Integration Module" (FIAS_HDY)

  • Added new POS FIAS driver for "SKIDATA-MICROS Gateway" (FIAS_SKI)

  • HTTP - smaller corrections to request methods


What's new in 8.7.7.0 ?

What's new in 8.7.7.0 ? (23 October 2013)

The encryption methods between IFC8 and IfcBusi.Dll have been enhanced with this version, so it is recommended to exchange IfcBusi (Suite8 only) when upgrading to this IFC version. It was found that certain algorithms were not working on PCs with Japanese, Chinese or Korean characters sets, which caused this change.

Further changes in this version:

  • FIAS: Added IM to CcAuthor_O ($A)

  • FIAS - RequestType is now automatically added to DR-schemas when these are defined by the vendor

  • Added new VSS FIAS driver for "Grand eButler" (FIAS_GEB)

  • Added new VSS FIAS driver for "TINNA by IPsoTV" (FIAS_TIN)

  • Added new WWW FIAS driver for "ARCB - Aradial Technologies" (FIAS_ARC)

  • Added new MSC FIAS driver for "PCT Cielo - Opera Interface" (FIAS_PCL)

  • Added new VSS FIAS driver for "GuestSmarTV" (FIAS_GTV)

  • Added new MSC FIAS driver for "PCT Cielo - PMS Outbound RoomStatus" (FIAS_RsOut_PCO)


New in 8.7.7.1

New in 8.7.7.1 (7 November 2013)

  • Article-Prefix configuration: corrected configuration, as it was not possible to remove a prefix completely once one was added

  • Added new POS XML-POS driver for "SpaGuru Interface" (XML_POS_SPG)

  • Added new VSS FIAS driver for "BATA Hospitality System" (FIAS_BAT)

  • Added new VSS FIAS driver for "Interactive TV for Hospitality - Software Mind" (FIAS_ITH)

  • Added new BMS FIAS driver for "ENGIBY-Fidelio Driver for Saia-PCD" (FIAS_EGY)

  • Added new VSS FIAS driver for "HITVAS Wasu Media&Network Co.,Ltd." (FIAS_HVW)


New in 8.7.7.2

New in 8.7.7.2 (15 November 2013)

  • Added new MSC FIAS driver for "SBU_RE JAYBEE Systems Ltd" (FIAS_RsOut_SRJ)

  • Added new VSS FIAS driver for "Utelisys TV FIAS Interface System" (FIAS_UTL)


IFC Tables - Update Script to 8.8.0.x

There are no table changes from 8.7.7.x to 8.8.0.x.


IFC Tables - Update Script to 8.8.1.x

/* Update script for IFC8 Updates from 8.8.0.x to 8.8.1.x */

/* 1. modify ICFG table */

--add the ICFG_DLS_ICFG_ID field

ALTER TABLE ICFG ADD (ICFG_DLS_ICFG_ID NUMBER(30,0) NULL);

COMMENT ON COLUMN ICFG.ICFG_DLS_ICFG_ID IS ' if ICFG_DLS_TYP is defined as SlaveEncoder<>0 --> define the ICFG_ID of the corresponding PrimaryDLS interface';

/* 2. modify ICFG_DLS_TYP comment */

COMMENT ON COLUMN ICFG.ICFG_DLS_TYP IS ' Door Locking System types 0/null = StandaloneDLS or PrimaryDLS 1 = RFID SlaveEncoder system 2 = MagneticCard SlaveEncoder system';

Commit;


IFC Tables - Update Script to 8.8.2.x

There are no table changes from 8.8.1.x to 8.8.2.x.


IFC Tables - Update Script to 8.8.3.x

There are no table changes from 8.8.2.x to 8.8.3.x.


IFC Tables - Update Script to 8.8.4.x

/* Update script for IFC8 Updates from 8.8.3.x to 8.8.4.x */

/* 1. modify ICFG table */

--add the ICFG_XCED_ID field

ALTER TABLE ICFG ADD (ICFG_XCED_ID NUMBER(30,0) NULL);

COMMENT ON COLUMN ICFG.ICFG_XCED_ID IS ' the Suite8 Interface User as defined in XCED with XCED_IFCONLY=1';

Commit;


What's new in 8.8.0.0 ?

What's new in 8.8.0.0 ? (13 December 2013)

It has been found that IFC8's internal encryption routines had limitations when running on a computer with a double-byte characterset.

With version 8.8..0. the routines have been re-written in both IFC8 and IfcBusi.Dll Please ensure that both components are changed in a Hotel during an update.

NOTE: IFC8 stores oracle-connection information and authorization keys in the config.XML in an encrypted and hashed format. These values are NOT compatible to IFC8 version 8.8.0.0. anymore and need to be re-entered during the update. You must ensure that you posses these values before updating; the values cannot be restored, once they are encrypted.

Further changes:

  • M2K - Added option to send "RoomNumberLastName" in the name field

    • Configuration:

'0' send ", " after lastname

'1' send "," after lastname

'2' send RoomnumLastname

'3' Combination of '1' and '2'

  • Smaller corrections to HTTP com-layer

  • FIAS/XML: added CrossReference(0 To 9)to CcSettl & CcPayOnly

  • Billview (all FKTs): added order by postingsdate

  • V8_IFC_RESERVATIONSEARCH: added field ARRIVALTIME(YRES.YRES_EXPARRHOUR), modified DEPARTURETIME(YRES.YRES_EXPDEPHOUR) to be a time only field (was date&time before)

  • Added new WWW FIAS driver for "ENTIRETEC-HSIA" (FIAS_EHS)

  • Added new WWW FIAS driver for "ClearPass Guest Aruba Networks" (FIAS_CPG)

  • Added new BMS FIAS driver for "Hoist Energy Interface" (FIAS_HEI)


New in 8.8.0.1

New in 8.8.0.1 (18 December 2013)

  • Security enhancements to Fidelio WebSuite interfaces (HTTPs into the datacenter), added support for AuthKey authentication

  • Added new PBX FIAS driver for "Denwa Unified Communications" (FIAS_DWC)


New in 8.8.0.2

New in 8.8.0.2 (20 January 2013)

  • SLK/SL6 - added additional error descriptions

  • Added new DLS FIAS driver for "AAZS ELECTRONIC HOTEL LOCK" (FIAS_N76)

  • Added new WWW FIAS driver for "UCOPIA Express / Advance" (FIAS_UCO)

  • Added new IfcAuthKey-Validation - the prior version was partly depending on IP - addresses - all existing AuthKeys become invalid and need to be re-entered upon installation

  • V8_IFC_RESERVATIONSEARCH: undo V8.0.0 modifications, as Key-Routine in V8 was failing, modified field ARRIVALTIME(YRES.YRES_EXPARRHOUR) to date + time field, undo V8.0.0 modification of DEPARTURETIME(YRES.YRES_EXPDEPHOUR) to date + time field

  • Added support for XML-POS specification, version 2.00


New in 8.8.0.3

New in 8.8.0.3 (23 January 2014)

  • MS2 - enabled sending of AREYUTHERE , defauklt is 'off'

  • TGL - added option to send GuestGroupNum in INFO record, default is "00000"

  • Added new VSS FIAS driver for "SCCN-Hotel VOD System(HD)" (FIAS_SCC)

  • Added new VSS FIAS driver for "NTIS-Navicom Telkom Interface System" (FIAS_NTI)


New in 8.8.0.4

New in 8.8.0.4 (6 February 2014)

  • Added new TMS FIAS driver for "PAMS – SEIC Attendance Management System" (FIAS_PAM)

  • M2K - changed ACK/NACK handling if BMP_AnswerENQWithNAK is enabled ("1")

  • Added new MBS driver for "Smart Cube" (SCB)


New in 8.8.0.5

New in 8.8.0.5 (7 February 2014)

  • Adopted handling of padding in DES3 encryption, to be compatible with Opera's way of decryption. (incompatible since 8.8.0.0, Chip&PIN records only)


New in 8.8.0.6

New in 8.8.0.6 (12 February 2014)

  • All XML/FIAS drivers and FKT=OPERA: An error has been corrected, where under some circumstances it could happen that an invalid AuthKey was saved which lead to an "wrong-authkey"-notification at next startup.


New in 8.8.0.7

New in 8.8.0.7 (19 February 2014)

  • M2K_NameFormatting: added option '4' and '6' to allow Guestformattedname (NOT recommended !)

  • CC9 - various changes:

    • added parameter CC9_DCC_Handling to allow passing of DCC-attributes from Payment answers to the PMS

    • CC records: added support for CardId field

    • CP field: remove 'T' and 'M' from third position (from identifier CPM and CPT)

  • Added new WWW FIAS driver for "OneBox Internet Access System" (FIAS_OBI)


New in 8.8.0.8

New in 8.8.0.8 (12 March 2014)

  • Added new POS driver for "MICROS POS C2 - LATAM" (XMP_POS_PC2)

  • Removed license checking for PostSimple and EnhancedPosting for PC2 (Suite8 only)

  • Added new TMS FIAS driver for "TollManager ou CallManager" (FIAS_TMA)

  • Added new VSS FIAS driver for "Ellipse IPTV" (FIAS_EPS)

  • Added new MBS FIAS driver for "Magic(wise) Minibar - Flexibar" (FIAS_MWM)


New 8.8.0.9

New 8.8.0.9 (20 March 2014)

  • IfcBusi - corrected an issue in schema handling. The DLL was using "UserId" instead of "UserID" for some actions

  • XML-POS - corrected an issue where Reference 3-10 were incorrectly sent as DefRef3-10 (since 8.8.0.2)

  • YAL - corrected an issue in validity date calculation, IFC8 was sending number of days instead of number of nights

  • Added new WWW FIAS driver for "cHar PMSLink WiFi" (FIAS_CPW)

  • Added new VSS FIAS driver for "Wisdom e House by Happy View" (FIAS_WHH)

  • Added new MSC FIAS driver for "QSAIntelligentHotelSoftware" (FIAS_QSA)

  • Added new BMS FIAS driver for "Nanjing Pujie Hotel Room Intelligent Control System" (FIAS_NPH)

  • Added new TMS FIAS driver for "Millenicom Cloud PBX" (FIAS_MLC)

  • Added new XML-POS driver for "Szkółka Narciarska - Easy Enter System" (XML_POS_SKN)

  • Added new XML-POS driver for "ShawMan Interface" (XML_POS_SMI)


New in 8.8.0.10

New in 8.8.0.10 (10 April 2014)

  • Added new XML-POS driver for "Winestation by Napa Technology" (XML_POS_WNP)

  • HTTP-client - allowed multiple connections to the same target IP/Port from different IFC-objects

Note: Microsoft has ended the support for Windows XP on April 8th 2014. Windows XP is now not a supported operating system for interfaces anymore!!


New in 8.8.0.11

New in 8.8.0.11 (23 April 2014)

  • M27: added parameter M27_FixPostListItemNum - see M27-Docu


New in 8.8.0.12

New in 8.8.0.12 (14 May 2014)

  • Oracle: added support for VPD database via VpdHotelId parameter (not supported by PMS at this point)

  • HTTP - Added support for client-based certificates (see CC9 documentation for details)

  • IfcBusi - various changes to better handle Share-Scenarios - necessary for the related changes in Suite8: version 8.9.5.1

  • N2I - added option to disable ACK/NAK handling

  • M87POS_SPH is now sending "SPH" as FKT to Opera instead of "M87"

  • Added new TMS FIAS driver for "Jive Hosted VoIP PBX" (FIAS_JIV)

  • Added new VSS FIAS driver for "Shanghai NHUA VOD System" (FIAS_SNH)

  • Added new WWW FIAS driver for "Neo Services Internet Access Controller" (FIAS_NEO)

  • Added new MSC FIAS driver for "char pmslink_RSout" (FIAS_RsOut_CHR)

  • Added new MSC FIAS driver for "LeoNovus Fidelio Interface" (FIAS_LEO)

  • Added new VSS FIAS driver for "DigiHD - Allin Interactive, Inc" (FIAS_DHD)

  • Added new XML-POS driver for "bluepos - Schultes Kassensysteme" (XML_POS_BPS)

  • Added new UNI-driver for "Daphi PBX" (UNI_DPH)


What's new in 8.8.1.0 ?

What's new in 8.8.1.0 ? (18 June 2014)

Suite8:

  • Added support for Primary and "Slave"-DLS interfaces. The logic can be seen rather simple:

    • All normal KeyRequests are passed to the Master-DLS system

    • Slave-DLS-Interfaces are linked to Kiosk-workstations and physically handle the Key-Encoder

    • Kiosk-type-keys are requested from the normal KeyInterface and the Track3-data is passed on (by PMS) to the slave IFC8 for key-encoding. This concept is currently supported for VC3/VCT/TLP & TLP_VCP

    • The interfaces need to be marked as Primary<->Slave in the configuration

  • Configuration : corrected ICTS DuplicateCheck

  • Full CAS: Corrected an error where CAS calculation was not properly used, when the grace time of a call was not yet exceeded. These charges were not processed at all, but can be posted as zero charges now.

  • Full CAS: inactive records with "ICTS_ICTT_ID IS NULL" are no longer selected during CAS-calculations

  • Full CAS - documentation has been re-written

  • PostInquiry - general optimization for better performance

General changes:

  • TLP/TLP_VCP - Added support for Track3-request with UIDs (=RFID key cards) , added parameter TLP_Track3_RequestMode -

  • VCT - Added support for Track3-request with UIDs (=RFID key cards) , added parameter TLP_Track3_RequestMode -

  • VCT - Added support for magnetic cards with Kiosk systems

  • KeyRead - added logic to handle GuestFormattedName where applicable (mainly: FIAS)

  • VC3 / VCT - CI_Time_Default: allowing checkin time definition in the format hhmm

  • Added new VSS FIAS driver for "DIRECTV Residential Experience (DRE) MCS" (FIAS_DRE)

  • Added new VSS FIAS driver for "Viggo - Omadro LTD" (FIAS_VIG)

  • Added new TMS FIAS driver for "Leucotron" (FIAS_LEU)

  • Added new VSS FIAS driver for "IMPERATOR - P-Labor elektronik GmbH" (FIAS_IPP)

  • Added new KSS FIAS driver for "PAMS - SEIC Key Service Interface" (FIAS_PAS)

  • Added COMM-Layer RFID_DE5 (new internal driver) for newly added KSS driver "DE 5240 dispenser with Springcard PC/SC reader H663" (XML_DE5)

  • Added new DLL to IFC8 and Installshield: IfcKeyEncoder.dll , This DLL contains the logic to communicate with selected key-Encoding devices for Kiosk-use. To use this DLL, make sure that

".NET Framework 4.0"

is installed. The DLL will self-register (automatic registration), like IfcCommEx.Dll, only when it is configured to be used.


New in 8.8.1.1

New in 8.8.1.1 (27 June 2014)

  • .NET DLLs: small modification in the automatic registration routines from IFC8. (Applies to IfcComEx.Dll and IfcKeyEnccoder.Dll)

  • Added new XML-POS driver for "VisualTouch" (XML_POS_VTO)

  • Added new KSS driver for "LED 5331 dispenser/encoder for magnetic cards" (XML_LED)

  • TLX: added new option for TLX_DuplicateKeys_Option=2(duplicate keys are not allowed (KeyCount is used, KeyType is not supported))


New in 8.8.1.2

New in 8.8.1.2 (16 July 2014)

  • SLV - added option to send ClassOfService either in GuestIn/GuestdataChange or in RoomEquipment

  • Added new POS driver for "Retail Pro POS" (XML_POS_RTL)

  • Added new BMS driver for "" (FIAS_W98)

  • IFC8-on-Suite8: Smaller correction in configuration of Department Code splitting and small corrections in handling of difference postings


New in 8.8.1.3

New in 8.8.1.3 (14 August 2014)

  • Smaller corrections to character handling in STD protocol driver

  • IfcKeyEncoder DLL: version 1.1 - moved configuration from a separate file into Ifc8Config.Xml

  • Added new VSS FIAS driver for "EHotel - TCL Business Information Technology" (FIAS_EHT)

  • Added new POS FIAS driver for "LAI Interface for Process B" (FIAS_LAB)

  • Added new POS XML-POS driver for "onePOS Point of Sale" (XML_POS_ONP)

  • Added new TMS driver for "iACT - InnAcloud Technologies" (HCX_IAT)

  • Added new BMS driver for "InnGenius - Ecolodgix" (SAE_IGE)


New in 8.8.1.4

New in 8.8.1.4 (2 September 2014)

  • XML/Logfile - Removed masking of the attribute "ExpyDate" (this is no longer PA-DSS relevant)

  • Corrected a problem with SOH-ID handling for WebSuite interfaces (IFC would overwrite correct configuration upon startup, which was leading to an error-pop-up)

  • Added support for IFC9's XSD schemas

  • Added new POS driver for "Multi Solution Switch" (M87POS_MSS) {AP only, this driver will be kept in 'restricted' status' and will not be openly available}

  • M87POS_MSSL: Added support for a new optional field, which will be transported to CrossReference6 (only applicable to this driver and not to any other M87 driver)

  • Added new VSS FIAS driver for "Enseo - E3" (FIAS_ES3)

  • Added new BMS FIAS driver for "Control Green" (FIAS_CLG)

  • Added new TMS FIAS driver for "NEC Hotel System" (FIAS_NHS)

  • Added new MSC FIAS driver for "SuitePad" (FIAS_SUD)

  • Added new VSS FIAS driver for "LightView - Intelligent Interactive Video System" (FIAS_LVW)


New in 8.8.1.5

New in 8.8.1.5 (9 September 2014)

  • Service Installations ONLY (never set when running IFC8 as application): Added setting and logic to read decimal separators from the Config.Xml to allow overriding system settings - and to allow configuration for those cases when IFC8 runs as a service with system account and no named user. In that case there is no way to read setting from the OS, as those are always linked to a user.

All related parameters start with "App_...."

The used decimal configuration is now shown in the logfile upon startup.

  • Service-Installation:

A new startup option in the command line was added: "+H" (for 'hidden')

This parameter will be automatically added to service-installation on Operating systems with support the 'isolated ID=0 session' (i.e. as of Win7) The functionality is very simple: IFC8 will be completely hidden, there will not be any form loaded at all during runtime. Even with "Interactive Service Detection" there will not be any visible trace of IFC8. This option is for DC-installation, where for PCI-reasons no named user can be implemented to have IFC8 running. In those cases install IFC8's service as system account. If you need to configure IFC8, stop the service, start IFC8 as application and do the needed. Once finished stop IFC8 and restart as service before logging out.

  • Added new WWW XML-POS driver for "Antamedia HotSpot Software" (XML_POS_ATS)

  • Added new VSS FIAS driver for "Medroid IPTV - Sky & Land Technologies" (FIAS_MED)

  • Added new KSS FIAS driver for "Well Contact Suite - Vimar SpA" (FIAS_WCS)

  • Added new WWW FIAS driver for "Surfsonix HSIA Interface" (FIAS_SHI)


New in 8.8.1.6

New in 8.8.1.6 (10 September 2014)

Unfortunately it was found that the handling of decimal as done in 8.8.1.5 was working fine with Suite8, but not with Opera. Subsequently the handling has been rewruitten. Please do not use 8.8.1.5 for any installations, where IFC8 runs as a service, but use versions >=8.81.6

The contents of the logfile has been modified. The used settings are now listed as:

And the configuration settings have changed too:

NOTE: These setting should ONLY be used, if:

  • IFC8 runs as a service

  • Problems with numeric conversions are detected

Do NOT set any of the above parameters, unless you have a problem, which needs correction. If the IFC-machine and e.g. the Opera App server are all running in english with a "dot" as decimal separator, there will not be a problem. problems can only arise, if mixed operating system settings are combined in an installation.

AND: The above setting will override the OS settings globally. It cannot be that two different sessions of IFC8 have different configuration parameter son one machine. Each session will override the system setting internally and the last started session of IFC8 will have it's setup transferred to the OS - and this will be read and used by any other application on the machine.


New in 8.8.1.7

New in 8.8.1.7 (26 September 2014)

  • Added new MSC FIAS driver for "Klever Logic Micros Interface" (FIAS_KLV)

  • Added new MSC FIAS driver for "IGS Hotel App" (FIAS_IGH)

  • Added new TMS FIAS driver for "Aeonix - Tadiran Telecom (TTL) L.P" (FIAS_AEO)

  • Added new POS XML-POS driver for "CONEXFLOW – XML-POS" (XML_POS_COX)

  • Added new POS XML-POS driver for "ReWa Pos" (XML_POS_RWP)

  • Added new POS XML-POS driver for "Sparkle - KM-IT GmbH" (XML_POS_SPK)


New in 8.8.1.8

New in 8.8.1.8 (30 September 2014)

  • Suite8: Added ability activate "NoDiffCheck" for POS interfaces while still using Autobalancing functionality.

The above has been added to overcome issues with Add-On tax installations with Micros, when taxes and/or ServcieCharges are sent as lump sums, which cannot be linked to the respective revenue postings in the PMS. As a result a single posting from a guestcheck cannot be moved from one folio window to another without manually splitting the tax charge and move the split manually.

See details on how this approach is working.


New in 8.8.1.9

New in 8.8.1.9 (21 October 2014)

  • Suite8-Multi-PMS: corrected an issue, where the configuration would default to a wrong IFC-number for the second PMS object

  • FIAS - Add support for SC (ServiceCharge0) which is now mapped to "ServiceCharge default = "C""

  • Suite8-Configuration: ICCT configuration is now not visible anymore, if CallAccounting is disabled an no Meterpulse charging active, as per schema

  • Configuration: sorting of salesitemizers is now working again after a node has been cloned

  • Configuration: added support for automatically updateable IdcoLongDesc by ZDCO_LONGDESC (i.e. the description of an IDCO record for POS systems)

  • Configuration: when adding a record in IDCO-configuration through 'arrow-down' the system is now refreshing and automatically focusing on the last added record

  • Suite8 - Hard DB-Swap - corrected certain scenarios, where the hard db-swap would not work when IGST is empty

  • Corrected a problem, where IFC8 could fail with "Subscript out of range" upon startup, when started without config.xml but with Oracle connection

  • Smaller corrections in IGST-updates during Check-In and reading IGST for PostList

  • M27 - removed license for enhanced inquiries

  • Added new TMS FIAS driver for "Kangaroo - ELTEG SAS" (FIAS_KGR)

  • Added new BMS FIAS driver for "Lutron Hotel Management System Interface Software" (FIAS_LHM)

  • Added new WWW FIAS driver for "Innflux PMS Interface" (FIAS_IUX)

  • Added new VSS FIAS driver for "Technology Integration Engine" (FIAS_TIE)

  • Added new MSC FIAS driver for "tracNcare Interface Guest Data" (FIAS_TRN)

  • Added new MSC FIAS driver for "tracNcare Interface RS-Out" (FIAS_RsOut_TCC)

  • Added new TMS FIAS driver for "tevitel iPBX" (FIAS_TEV)


What's new in 8.8.2.0 ?

What's new in 8.8.2.0 ? (14 November 2014)

  • Global Logic: added PaymentMethod in Ifc_In_Action_CpAuthor, Ifc_In_Action_CpSettl & Ifc_In_Action_CpPayOnly --> this will be used to pass CreditCard data entry methods to the PMS

  • CC9 - C&P records: added support for Card Data Entry Method field (PaymentMethod)

  • CC9 - removed masking of ExpyDate (no longer required per PA-DSS)

  • BMP lowlevel: added parameter "LLC_DataTimeOut" to define time waiting for an record after receiving an ENQ in half-duplex scenarios (this was previously defined by "LLC_ENQTimeOut")

  • BMP lowlevel: existing parameter "LLC_ENQTimeOut" is now used to define the time waiting for an ACK to an ENQ

  • Added new VSS FIAS driver for "ISTECH" (FIAS_ISH)

  • Added new WWW FIAS driver for "Sophos UTM" (FIAS_SPU)

  • Added new DLS FIAS driver for "SYRON Smart door lock management system" (FIAS_SYR)

  • Added new MSC FIAS driver for "Hoteza Hospitality Software" (FIAS_HZH)

  • Added new VSS FIAS driver for "DirectVision" (FIAS_DCV)

  • Added new KSS FIAS driver for "BWLIS - Bonwin Technology Co., Ltd" (FIAS_BWL)

  • Added new TMS FIAS driver for "PYXIS - TMS" (FIAS_PYX)

  • Based on requirements from Oracle any product or module may not require license-codes or may not check any expiration date or similar. These requirements are covered with this new version in combination with Suite8 version >=8.9.5.3, as such please forward to your colleagues in charge of the installation or support. These requirements do under no circumstances replace the prerequisite that each installation requires a license to be ordered. Using this module without a license ordered violates the license agreement and might have legal consequences.


New in 8.8.2.1

New in 8.8.2.1 (19 November 2014)

  • Added new POS XML-POS driver for "PYXIS - POS" (XML_POS_PYP)

  • TLP: added parameter TLP_Incoming_Track2_Format. UID values are of different length. Depending on the reader the value may be filled with "FF" to have a 8 character value. IFC8 can now optionally remove the "FF" character. Timelox/Visio-Online will return the "FF" character, but the reader on the POS/KIOSK may or may not have the character on the end of the string.

  • CC9: Card type translation: replace '??' (sent by 3C for unknown type) with '00' (used in our translation table) . If IFC8's cardtype translation is not used, IFC8 will transfer "??" to the PMS as CardType.


New in 8.8.2.2

New in 8.8.2.2 (15 December 2014)

  • IfcBusi.Dll - smaller changes for environments, where the DLL is loaded by IIS

  • TCP-Server: enhancements to logfiles: now showing local and remote communication ports, where possible

  • CC9 - added option to deny top-up authorizations automatically

  • CC9 - added support for print-fields (CrossReference1-9) as defined in CC9 specification 3.0 (not for authorizations)

  • NHC - removed MessageId from GuestMess schema (not supported/used)

  • DoublePostingSize: changed default to 0' (= no double posting check) for all POS, FIAS and XML drivers

  • Added new WWW FIAS driver for "LANBilling" (FIAS_LAN)

  • Added new POS FIAS driver for "Doctor Eleks" (FIAS_DOC)

  • Added new POS FIAS driver for "WaveSoft POS Solutions" (FIAS_WSP)

  • Added new TMS FIAS driver for "Voiceware by PhoneSuite" (FIAS_VPS)

  • Added new KSS FIAS driver for "LP Hotel System" (FIAS_LPH)

  • Added new KSS FIAS driver for "Hotel Room Control System" (FIAS_HRO)


What's new in 8.8.3.0 ?

What's new in 8.8.3.0 ? (28 January 2015)

  • Added new PBX FIAS driver for "StarSuite - Radiance Communications" (FIAS_SRC)

  • Added new BMS FIAS driver for "Elvis" (FIAS_ELV)

  • Added new VSS FIAS driver for "OVICNET Rooms Smart TV Interactive System" (FIAS_OVI)

  • Added new BMS FIAS driver for "IRMS-1000 - ICONTROLS" (FIAS_IIC)

  • Added new MSC FIAS driver for "RoomChecking - RoomStatus" (FIAS_RsOut_RCK)

  • Added new BMS FIAS driver for "JUNG Facility Pilot" (FIAS_JUN)

  • Added new KSS FIAS driver for "INS DoorLock System IN-118" (FIAS_I18)

  • KDR/SMS: added parameter SMS_SendPollingReply, to support the new polling feature of 'KDS Gold Pos'

  • Startup: removed check for Oracle OLE installation

  • Configuration: modified IFC8-database-configruation for usage of Microsoft-MSRDC/ODBC instead of Oracle-OO4O/OLE driver (Oracle has removed OLE support with Oracle >= version 12)

  • Configuration: added config parameter GlobalDbs/OdbcDriverName

  • Configuration: corrected a problem, where the cursor would jump to a wrong ICFG_line, if more lines exist than can be shown in the current resolution.


New in 8.8.3.1

New in 8.8.3.1 (04 February 2015)

  • Added new MSC FIAS driver for "RoomChecking" (FIAS_RCC)

  • Suite8: KeyCoder in Key-actions: the attribute KeyCoder will not be overwritten through IDMP logic, if already set by PMS

  • Configuration: corrected smaller issues, which were introduced with the new DB-connect in 8.8.3.0 (e.g. error pop-up when opening Autobalancing form)

  • Added new functionality to remove configuration completely by interface ID:

If an interface installation has been corrupted, then this is an easy way to remove an interface from ICFG and all linked tables completely.

Alternatively individual tables can be cleaned from the related records of a specific interface:


New in 8.8.3.2

New in 8.8.3.2 (11 March 2015)

  • TLP - Corrected a problem, where normal keys from PMS could not be processed anymore, but only Kiosk-Keys when TLP_Track3_RequestMode="1"

  • Added new MSC FIAS driver for "BHS-Mango Opera Interface" (FIAS_BHS)

  • Added new MSC FIAS driver for "TigerTMS iLink" (FIAS_RsOut_TGT)

  • Encryption: Added support for AES as encryption method in addition to DES3

  • Added new BMS FIAS driver for "Struxureware BMS Integration" (FIAS_SXU)

  • Addes support for AES based encryption between IfcBusi.Dll and IFC8.Exe

NOTE: IfcBusi.Dll version >= 8.8.3.2 require IFC8 being of version >=8.8.3.2

However: IFC8 version .= 8.8.3.2 is still compatible with the encryption methods of elder IfcBusi.Dll

  • Added check for version of the installed WodCrypt.Dll

  • OCV - added option to set alignment for reservation-number field

  • Added new TMS FIAS driver for "e-fon connect - Omnes-Group-AG" (FIAS_EFO)

  • Added new WWW XML-POS driver for "HiPort Srl - PMSI" (XML_POS_HIP)

  • Added new POS XML-POS driver for "OpenSolution-POS" (XML_POS_OPN)

  • Added new POS XML-POS driver for "Raptor" (XML_POS_RAP)

  • Added new MBS FIAS driver for "ABreez by Mobile Simple" (FIAS_AEE)


New in 8.8.3.3

New in 8.8.3.3 (26 March 2015)

  • Added new view: V8_IFC_ACCOUNTSEARCH

  • Preparation for direct A/R postings, with Suite8: PMS-version t.b.a.

  • CC9 - added support for CvvNum (CV field) in CcAuthor/CcSettl/CcPayOnly

  • Corrected display of IFC - component's versions (IfcAction.Tlb and IfcBuis.Dll). Display of IfcAtion.Tlb version could have been wrong under some circumstances

  • Added new function for automatic wrapping of textmessages. This is to better handle systems, which do not support formating (CR, LF etc). IFC8 will now handle the text in a way so that not word gets cut in half with a carriage return

  • CBC/EMI/GAS/GSV/LDG/M87POS/MNE/MOV/OCV/TGL - added new textformatting function.

  • Added new MSC FIAS driver for "KeepingCloud" (FIAS_KPC)

  • VCT/VC3 - Added option "2" and "3" to parameter CI_Time_Default . Setting these - or a straight time will enable "G"-records to Vingcard instead of "I"/"H" records

  • IfcBusi.Dll - added version check for WodCrypt.Dll and new ballon showing an error, if the DLL is loaded with a wrong version of WodCrypt.Dll


New 8.8.3.4

New in 8.8.3.4 (31 March 2015)

  • KeyExchange: corrected a problem, where encryption keys could get corrupted in IFC8's memory, which leads to a disrupted communication to IfcBusi.Dll

Note. The above only applies to Suite8 and only to installations with EFT-drivers. Installations with IFC8 version 8.8.3.2 or 8.8.3.3 must be updated. IfcBusi.Dll does not need to be updated.


New in 8.8.3.5

New in 8.8.3.5 (22 April 2015)

  • MNS - added support for 'Receipt Reprinting' (transaction code 14) through manual submenu

  • Added new VSS FIAS driver for "BestHotel - eKing" (FIAS_BHE)

  • Error-email - added further errormessage for the email-test tool of IFC8.

  • IfcBusi - minor changes for logging


What's new in 8.8.4.0 ?

What's new in 8.8.4.0 ? (13 May 2015)

  • Added support direct posting to A/R (Suite8, minimum version 8.9.6.3)

  • Added PMS-User configuration for Suite8:

IFC8 will start with an error if ICFG_XCED_ID is not filled:

All users, which are marked as "IFC-user" will be displayed in the dropdownbox:

This user becomes necessary to mark sessions within IFC8 with a user. (i.e. to mark which user is currently blocking a reservation or a folio due to an active transaction.)

  • Added new TMS FIAS driver for "PCSISTEL" (FIAS_PSS)

  • Added new DLS FIAS driver for "ZigLock Hotel System" (FIAS_ZGL)

  • Added new MBS FIAS driver for "Minibarmaster" (FIAS_MBR)

  • Added new MSC FIAS driver for "Speeron Piccolo FIAS" (FIAS_SEE)

  • Added new EFT FIAS driver for "Point Payment Client" (FIAS_POI)

  • Added new VSS FIAS driver for "hiSystem" (FIAS_HIY)

  • Added new XML-POS driver for "Vectron POS" (XML_POS_VEC)

  • Com-Layer HTTP: corrected handling of default proxy settings from the OS


New in 8.8.4.1

What's new in 8.8.4.1 ? (27 May 2015)

  • Suite8: Added "V8_IFC_BILLINGWINDOWINFO" to the list of views which are available through configuration

  • Added new VSS FIAS driver for "Playroom IPTV System" (FIAS_PYR)

  • Added new BMS FIAS driver for "Parkingwang" (FIAS_PKW)

  • Added new WWW FIAS driver for "MagnaGate" (FIAS_MGG)


New in 8.8.4.2

New in 8.8.4.2 (July 28 2015)

  • Added new VSS FIAS driver for "TigerTMS ILINK" (FIAS_TTV) - EMEA

  • Added new VSS FIAS driver for "Vodoke Link" (FIAS_VDL) - APAC

  • Added new POS XML_POS driver for "WINHMS by Winsar Infosoft" (XML_POS_WWS) - APAC

  • FIAS: modified FiasToXml: fixed check for unsupported fields by FktLogo (extended posting fields was always not possible if FktLogo="FIAS_F97"/"FIAS_MFPOS")

  • FIAS: modified SplitSchemaDef: fixed adding of the EquipmentStatus/EquipmentNumber attributes in an already existing GuestInSchema

  • IFCBusi: GetDbDetails(): fixed "ClassofServiceAllowed_Old" typo:
    in specific scenario for RoomMove a wrong ClassOfService (COS) attribute value was sent. This has been fixed.


IFC Tables - Update Script to 10.0.x

There are no table changes from 8.8.4.x to 10.0.x.


New in 9.6.3

New in 9.6.3 (August 19 2015)

Due to Oracle policies we do a version jump for the IFC8.exe and IFCbusi versions to harmonize with the Suite8 PMS versions now.

This will have no impact on the Opera PMS versions - IFC8 will still be compatible with Opera PMS.

due to the delay of Release of Suite8 V.10.0 we need to revert back to a lower IFC8 version number as to comply with the latest Suite8 Release which is 8.9.6.3 (August 2015)

Formerly released IFC8 Version 10.0.0 has been deleted from available FTP Server and must not be installed anymore !!

all changes in release 10.0.0 will be included in this version 9.6.3 !!

Changes in this version:

.

  • Suite8: IfcBusi: fixed an internal XSS Error found by Fortify scanning tool

  • Suite8 only: modified CommMainClass_CheckLic: disable the BedAndBreakFast_Max_IfcNum check - with Suite8 Small Business Edition the number of active IFC 8 interface was limited to '3'. Due to new pricing this limitation has been removed now.

  • Added new FIAS driver for TMS IFC "Wildix WGW - Wildix srl" (FKT FIAS_WGW) - Italy EMEA

  • Added new FIAS driver for VSS IFC "Hotel Content Management System - SGP Contracts Limited" (FKT FIAS_HCM) - UK EMEA

  • fixed issue "Ifc8Service at OS StartUp"(since V8.1.5) - IFC8 service did not start automatically when Service Startup Type = "Automatic" when OS = Vista / Win7 / Win8 / 2008


New in 9.6.4

New in 9.6.4 (01. September 2015)

  • Added new XML_POS driver for POS IFC "FREEDOM-POS/ FREEDOM-ePay-Omnico Group" (FKT XML_POS_FRE) - USA / USCAN


New in 9.6.5

New in 9.6.5 (September 22 2015)

New FKT:

  • Added new FIAS driver for VSS IFC "MeshTV Middleware Server - Bittel Asia " (FKT FIAS_MVM) - HK / APAC

Changes:

  • for Opera IFC Controller/Webservice authentication logic: (Future Use):

XML_Opera: added "IfcAuthInfo" property

added support for ConfigXml attribute "IfcAuthInfo" (special solution for Opera IFC8 Webservice "DB credential authentication" logic)

  • fixed XmlError: added "On Error Resume Next" --> don't raise an Error at SelectRootElement

(occurs if required attribute not set) Error description not shown correctly in monitoring


New in 9.6.6

New in 9.6.6 (October 27 2015)

Changes in this version:

New FKT:

  • Added new FIAS driver for WWW IFC "Nevotek - Cisco Meraki Manager" - (FIAS_CMR) - EMEA Turkey

  • Added new FIAS driver for VSS IFC "hdhtv interface - Sparkle Roll Interactive Technology Company" - (FIAS_HDH) - APAC China

  • Added new FIAS driver for BMS IFC "Room Energy Management System - ESDL Limited" (FIAS_EDL) - EMEA - Malta - Support TCP and RS232

  • Added new FIAS driver for TMS IFC "SMARTHotel - Nexlabs Pte Ltd" (FIAS_SRH) - APAC - Singapore

general Changes:

  • modified MsqRead: if LinkPmsConf.Cryptogram is invalid --> check if the LinkDescription in ISCH was overwritten - ak, 22 sep 15
    in case the LinkPmsConf Cryptogram sent by IfcBusi could not be encrypted, it will be checked if LinkDescription in ISCH has been overwritten.
    Error message:     "Invalid CryptKey received from Idx:" & piMsqIdx & " (Validation of LinkDescription in ISCH table was failed, maybe other instance of IFC8 was started)"


New in 9.6.10

New in 9.6.10 (November 24 2015)

New FKT Logo:

  • Added new FIAS driver for BMS IFC "Pelican Energy Management System - Pelican Wireless Systems" - (FKT FIAS_PLC) - USA

General changes:

  • Replacement of wodcrypt libraries (wodcrypt.dll & wodKeys.dll) for crypting functionality.
    IFC8 will no longer use wodcrypt libraries for crypting sensitive data. Instead new crypting handling has been added to IfcComEx.dll which does fulfill Oracle crypting requirements.
    Wodcrypt libraries will still be deployed with IFC8 Install wizard as PMS Suite 8 still use these libraries.

  • New IFC8 Install wizard - now replacing former IfcBusi Install wizard
    We implemented option into new IFC8 install wizard to install IfcBusi for Suite8 PMS workstations.
    With this we do not need the used IfcBusi Install wizard anymore.

    The wizard will give option to install IfcBusi only or Install Ifc8 for Suite 8 or for Opera.
    Based on choice related files will be installed and registered.

Full details on new Install wizard see here.

IMPORTANT : When updating from older IFC8.exe to IFC8.9.6.10 you must process following steps:

(See this link for details)

1. DO NOT USE the ADD/Remove Programs handling in Windows Control Panel !!!
2. START the new IFC8.9.6.10 Install wizard !

3. when started, run REPAIR option !!
This will un-register and delete old IfcComEx.dll from \ifc8 folder

4. THEN run REMOVE option !!
This will uninstall and unregister all IFC8 related files

5. Run the Install wizard and install IFC8 as described in details (see above link)

At IFC start it can happen that the existing Auth Keys (for DB Config access or EFT Communication) need to be re-entered manually !!

see also this link on how to handle updates of IfcBusi PMS Workstation installation to new 8.9.6.10 version.

  • fixed Init/Error_Handler (no response on ComLayer Config-Errors since V8.3.3) - an error has been resolved where IFC did not move on creating the PMS1 object at first config.xml creation

  • fixed Ifc8ComExCompVers for new Ifc8ComEx.dll V9.6.7: an error has been resolved where IFC did incorrectly Version check for IfcComEx.dll installed.


Which IFC Version goes with which V8 Version ?

NOTE: IFC versions 8.5.3.x and newer do NOT run with Oracle 8.x You need to have Oracle Version 9/10/11/12 installed.

NOTE: if MFG IFC will be installed with SSLGateway V5 max IFC8 version 8.8.1.3 must be used. Higher IFC8 versions are not working with SSLGateway 5.

V8 Version | IFC8 Version
8.1.4.x | 8.1.2.x
8.1.7.x | 8.1.3.x & 8.1.4.x
8.1.19.x | 8.1.5.x
8.2.0.x | 8.1.6.x & 8.1.7.x & 8.1.8.x & 8.1.9.x & 8.1.10.x & 8.1.11.x & 8.1.12.x & 8.1.13.x
8.2.99.x | 8.1.13.x
8.3.0.x to 8.3.7.x | 8.1.13.x & 8.1.14.x
8.3.7.x to 8.3.x.x | 8.1.14.x & 8.2.0.x
8.4.0.x Pre-Release versions | 8.2.1.x
8.4.0.x | 8.2.2.x & 8.2.3.x
8.5.0.x | 8.2.4.x & 8.2.5.x & 8.3.0.x & 8.3.1.x
8.6.0.x | 8.3.1.x >=8.3.1.8 & 8.4.x.x & 8.5.0.x & 8.5.1.x & 8.5.2.x
8.6.1.x | 8.4.3.x & 8.4.4.x & 8.4.5.x & 8.5.0.x & 8.5.1.x & 8.5.2.x
8.6.2.x / 8.6.3.x / 8.6.4.x | 8.5.0.x & 8.5.1.x & 8.5.2.x & 8.5.3.x & 8.5.4.x & 8.5.5.x & 8.5.6.x
8.7.0.x / 8.7.1.x / 8.7.2.x / 8.7.3.x / 8.7.4.x | 8.5.3.x & 8.5.4.x & 8.5.5.x & 8.5.6.x & 8.5.7.x & 8.6.0.x & 8.7.0.x & 8.7.1.x
8.8.0.x Pre-Release versions | 8.6.0.x & 8.7.0.x
8.8.0.x & 8.8.1.x & 8.8.2.x & 8.8.3.x & 8.8.4.x | 8.7.0.x >= 8.7.0.7 & 8.7.1.x & 8.7.2.x & 8.7.3.x & 8.7.4.x & 8.7.5.x
8.9.0.x & 8.9.1.x & 8.9.2 | 8.7.2.x & 8.7.3.x & 8.7.4.x & 8.7.5.x & 8.7.6.x
8.9.3.x & 8.9.4.x | 8.7.5.x & 8.7.6.x & 8.7.7.x & 8.8.0.x
8.9.5.x & 8.9.6.0 - 8.9.6.2 | 8.8.0.x & 8.8.1& 8.8.2 & 8.8.3.x
8.9.6.3 & 8.9.6.4 | 9.6.x (because of new license handling in 8.9.6.3)
8.9.6.10 | 9.6.10


OPERA

There is no general compatibility list for the various OPERA versions.

Globally: minimum version of OPERA to support IFC8 is 3.x, but 4.x is recommended as minimum version when using IFC8.

In details the following are the minimum OPERA versions when using IFC8 version >= 8.5.x.x:

3.0.3.03

4.0.1.04

4.0.3.01

5.0.0.1


What is the IFC7 Wrapper ?

The IFC7Wrapper is a wrapper application to use the drivers from IFC7 on Suite 8.

This means:

it is installed on the IFC PC talking to IFC8 via TCL (XML-protocol) and to the vendor by the know methods (depending on the FKT-Logo).

An incoming charge record would be translated to XML and then be sent to IFC8.

IFC8 would then use it's normal routines to proceed.

Note: (October 2015)

IFC7 wrapper is only supported for 32bit OS Systems and requires an on-board COM Port installed.

Tests on 64 bit OS Systems and/or with USB to serial adapter or MOXA/Digi Edgeports have shown instable behaviour creating Blue Screens or application crashes.

Last maintained version of IFC7wrapper.exe is from 2007 - since then it is not being touched and there will be no more support for any 64bit OS.

There are no plans to add any changes to this application.


Drivers implemented to the Wrapper

February 2006:

Most of the former problematic drivers have been added to IFC8 by now.

UNI-drivers can all be installed by using IFC8 now.

Drivers, which need two ports can be installed by either starting two instances of IFC8 with the corresponding configuration in the IFC-Object, or by starting two IFC-Objects.

See the documentation on the respective driver.

Drivers, where you need to use IFC7Wrapper:

Siemens Hicom 150 (FKT=H2N)

There are no plans to re-write "H2N" in IFC8. The system is phasing out and is not newly installed since 2001.


Available in 8.1.6.x

This chapter has been added to give you a short overview of the realized features and those ones, which are not available yet.

Not yet available in 8.1.6.x:

  1. Text Messagehandling

  2. Voicemailnotification

  3. EFT Handling

  4. Transfer of Guestcheckdetails

  5. Any grouprelated feature (Group-Key, Pre-Check-In Key, Wakeup etc)


Call Star Horizont (CSB)

Type topic text here.


Configuration of Department Code Selection (Splitting) through IFC8

Type topic text here.


Details

Type topic text here.


Hoerbar (HRB)

This interface is based on FIAS and does not need any specific setup.


ICAS

This table caries call accounting information.


IEXT

The IEXT table will carry extension specific information, which may not be stored in IRMS.


ifc8 multihotel setup with 2 suite 8 db

IFC8 Multi-Hotel Setup with 2 Suite 8 Databases

The following is a short overview about how to connect one vendor-system to two PMS databases

This schema can be used for the following IFC-types: PBX, VSS, WWW,KSS, MBS, MSC, VEN, CAS IFC

Do not follow this page for POS CROSS POSTING – and not for EFT IFCs.

Requirement: all Suite8 Hotels must be on same PMS version! IFC8 loads just one set of PMS DLLs and uses this set to post to all properties.

A maximum of 9 Hotels can be connected to one vendor system.

Configuration Steps:

Configure IFC8 for Hotel 1 as usual.

To enhance for support of Hotel2 go to IFC8 Configuration

Right click on PMS1 and choose “CLONE NODE”

Press Ignore to continue.

Now you have 2 PMS Objects with the same settings.

The next Step is to copy the “GlobalDbsConnect0” so that a new Oracle connection can be generated for the PMS2 object.

Right click on “GlobalDbsConnect0”.

Press Clone Node.

Another new item “GlobalDbsConnect1” is now available.

Press OK, Apply & save the config.xml now.

Now change the Parameter “Param” to ‘1’ for PMS2 Physical Layer –> DBS to point this PMS object to Connection settings of “GlobalDbsConnect1“.

Press OK, Apply & save the config.xml now.

Enter connection details in “GlobalDbsConnect1” for the Oracle login of Hotel2 .

Then connect to each of the DBconfig and setup PBX IFC separately .

Set Path ID( ICFG _HOTEL_ID):

ICFG

Hotel 1

Hotel 2

Hotel ID of PBX IFC of Hotel1 must be = 1

Hotel ID of PBX IFC of Hotel2 must be = 2

Make sure that no duplicate extensions are setup !!

When Starting the IFC8 now – connecting to the vendor system, you will get following error message:

To resolve go to IFC8 Config.XML – configuration – IFC1 – “PathIdX” Parameter.

Right Click to this value and press “Clone & Rename Item”.

New Parameter will be shown.

Replace the “PathIdx” name with ‘PathId2’.

Press Enter.

Then change the Value for this item to ‘PMS2’.

Press OK, Apply & save the config.xml now.

Start IFC8 and connect with the vendor system.

Once the IFC for Hotel2 is properly configured (with IRMS setup) then you should see a status message similar to above and IFC turns 'green' for both PMS objects.


IRST

This table is used to translate incoming Room-Status change-records.


IVDF

This table was planned to be used for DefRef definitons, but might be removed, as IDRF is now used for this purpose.


IWKT

This table has currently no use. It was meant as Wakeup table, but currently IWKC is used for that purpose.

This might be changed in the future.


M87 IDRF Insert Script (german)

Valid as of IFC-Version 8.1.14.x:

NSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

301, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef1');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME PostListItem_DefRef1'

WHERE IDRF_ID=301;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

302, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef2');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME||'' ''||FIRSTNAME||'' ''||TITLE PostListItem_DefRef2'

WHERE IDRF_ID=302;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

303, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef3');

UPDATE IDRF SET IDRF_CONDITION = 'ARRIVALDATE||'' - ''||DEPARTUREDATE PostListItem_DefRef3'

WHERE IDRF_ID=303;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

304, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef4');

UPDATE IDRF SET IDRF_CONDITION = 'PAYMETHOD PostListItem_DefRef4'

WHERE IDRF_ID=304;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

305, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef5');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME||'' ''||FIRSTNAME||'' ''||TITLE PostListItem_DefRef5'

WHERE IDRF_ID=305;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

306, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef6');

UPDATE IDRF SET IDRF_CONDITION = 'ARRIVALDATE PostListItem_DefRef6'

WHERE IDRF_ID=306;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

307, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef7');

UPDATE IDRF SET IDRF_CONDITION = 'DEPARTUREDATE PostListItem_DefRef7'

WHERE IDRF_ID=307;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

308, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef8');

UPDATE IDRF SET IDRF_CONDITION = 'PAYMETHOD PostListItem_DefRef8'

WHERE IDRF_ID=308;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

309, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef9');

UPDATE IDRF SET IDRF_CONDITION = 'REMARK1 PostListItem_DefRef9'

WHERE IDRF_ID=309;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

310, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef10');

UPDATE IDRF SET IDRF_CONDITION = 'LASTNAME||'' ''||FIRSTNAME||'' ''||TITLE PostListItem_DefRef10'

WHERE IDRF_ID=310;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

311, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef15');

UPDATE IDRF SET IDRF_CONDITION = 'REMARK2 PostListItem_DefRef15'

WHERE IDRF_ID=311;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

312, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef16');

UPDATE IDRF SET IDRF_CONDITION = 'ADULTS||'' / ''||KIDS PostListItem_DefRef16'

WHERE IDRF_ID=312;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

313, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef17');

UPDATE IDRF SET IDRF_CONDITION = 'GROUPNAME PostListItem_DefRef17'

WHERE IDRF_ID=313;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

314, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef18');

UPDATE IDRF SET IDRF_CONDITION = 'RATECODE PostListItem_DefRef18'

WHERE IDRF_ID=314;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

315, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef19');

UPDATE IDRF SET IDRF_CONDITION = 'MESSAGES PostListItem_DefRef19'

WHERE IDRF_ID=315;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

316, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef23');

UPDATE IDRF SET IDRF_CONDITION = 'LANGUAGE PostListItem_DefRef23'

WHERE IDRF_ID=316;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

317, 2, 'V8_IFC_RESERVATIONSEARCH', 'PostListItem.DefRef24');

UPDATE IDRF SET IDRF_CONDITION = 'VIP PostListItem_DefRef24'

WHERE IDRF_ID=317;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

318, 2, 'V8_IFC_PROFILESEARCH', NULL);

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ADDRESS1 PostListItem_DefRef11 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_ID=318;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

319, 2, 'V8_IFC_PROFILESEARCH', NULL);

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ADDRESS2 PostListItem_DefRef12 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_ID=319;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

320, 2, 'V8_IFC_PROFILESEARCH', NULL);

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_ZIP||'' / ''||GUEST_CITY PostListItem_DefRef13 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_ID=320;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

321, 2, 'V8_IFC_PROFILESEARCH', NULL);

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_STATE PostListItem_DefRef14 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_ID=321;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

322, 2, 'V8_IFC_PROFILESEARCH', NULL);

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_COUNTRY PostListItem_DefRef20 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_ID=322;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

323, 2, 'V8_IFC_PROFILESEARCH', NULL);

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_PHONE PostListItem_DefRef21 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_ID=323;

INSERT INTO IDRF ( IDRF_ID, IDRF_ICFG_ID, IDRF_VIEW_NAME,

IDRF_LONGDESC ) VALUES (

324, 2, 'V8_IFC_PROFILESEARCH', NULL);

UPDATE IDRF SET IDRF_CONDITION = 'GUEST_EMAIL PostListItem_DefRef22 Where GUEST_XCMS_ID=V8_IFC_RESERVATIONSEARCH.GUESTNUMBER'

WHERE IDRF_ID=324;

commit;


Minibar Interfaces

inibar Interfaces

There are no Minibar Interfaces supported yet. (May 2003)


Miscellaneous Interfaces

iscellaneous Interfaces

There are no miscellaneous Interfaces supported yet (May 2003).


New in 8.1.13.7

  • Added new driver for "GEOSOFT / SATELCOM" (FKT=SAT)


New in 8.2.1.5


New in 8.5.0.10

  • IfcBusi - Corrected a problem, where IRMS translation was failing, which resulted in no further command from the PMS being executed by any interface. (introduced in 8.5.0.9)


New in 8.7.4.10

New in 8.7.4.10 (18 April 2012)

  • M87POS_SPH - corrected an issue where no FKT_LOGO was exchanged with Opera. (broken since 8.7.4.8)

  • Added new MSC FIAS driver for "Samfex Service & Maintenance management" (FIAS_SFS)

  • Added new MSC FIAS driver for "Samfex Service & Maintenance management Room Status" (FIAS_RsOut_SSR)

  • Added new KSS FIAS driver for "Desigo Hotel – Siemens Italia S.p.a." (FIAS_DSG)

  • Added new BMS FIAS driver for "Room Control Unit - Dalian Guangdian Intelligent Electronics Co., Ltd" (FIAS_RCU)

  • Added new XML-POS driver for "Firesnow by Firesoft" (XML_POS_FSF)


New in 8.7.5.12

New in 8.7.5.12 ( November 2012)

  • ZVT - Added CardType translation

  • CC9 - added option to suppress all Cc*-Schemas, only C&P transactions are supported


MICROS-FIDELIO Interface On-line Help - Short Entry

 Name                                | Art.Nr.  | FKT | Comments                         |
 -----------------------------------------------------------------------------------------
                                     |          |     |                                  |
 1C-Rarus Restaurant                 | NOT rel. | 1CR |  M27 clone, TCP/IP supported     |
                                     |          |     |                                  |
 Abacus 21                           | 5004-061 | A21 |  FIAS                            |
 Access Link - N-Tree POS            | 5004-120 | ACL |  FIAS, TCP/IP supported          |
 ACTIS - Fidelio Exporter            | 5004-163 | AFE |  FIAS, TCP/IP supported          |
 ADS 46                              | 5004-001 | AD6 |                                  |
 ADS 48/49/53                        | 5004-002 | AD9 |                                  |
 Albatros Gastmodul                  |RESTRICTED| ALB |  FIAS, TCP/IP supported          |
 Aloha                               | 5004-071 | ALO |  M27 clone                       |
 Amadeus POS, Maitre Int.            | NOT rel. | AMD |  FIAS                            |
 Amano Parking Systems               | NOT rel. | APS |  FIAS, TCP/IP supported          |
 AMFI, Action Systems S.A            |RESTRICTED| ACS |  FIAS                            |
 ARGUS 2000 - Sierra Nat FD Interface| NOT rel. | ARU |  M27 clone                       |
 Arpon Win Pos                       | 5004-213 | AWP |  FIAS                            |
                                     |          |     |                                  |
 Baron POS, Baron Systems Ltd.       | 5004-047 | BRN |  M27 clone                       |
 Bella Vita Spa System               | 5004-128 | BVS |  FIAS, TCP/IP supported          |
 Billing Sys for Empire by Paragon   |RESTRICTED| BEP |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 Callisto - Notainterface            | NOT rel. | CAL |  FIAS                            |
 Cashpro - POS                       |RESTRICTED| CPR |  FIAS                            |
 CASIMIR POS                         | NOT rel. | CAI |  FIAS, TCP/IP supported          |
 CASIMIR POS, Soko's Hotels          | NOT rel. | CSH |  FIAS, TCP/IP supported          |
 Casio CEH - QT6000                  | NOT rel. | CCQ |  M27 clone, TCP/IP supported     |
 C-GESP XXI - SPA System             | 5004-167 | CXS |  FIAS, TCP/IP supported          |
 Checkout EPOS                       | 5004-049 | CHO |  FIAS                            |
 CIS Companion System                | 5004-144 | CCS |  FIAS, TCP/IP supported          |
 Club Prophet Systems                | NOT rel. | CPH |  M27 clone                       |
 ClubRunner (CR4WIN)                 | NOT rel. | CR4 |  FIAS, TCP/IP supported          |
 CMS2000, Datascan                   | 5004-078 | CMS |  FIAS                            |
 Computer Golf Software - Touch POS  | NOT rel. | CGS |  M27 clone                       |
 Comtrex                             | 5004-023 | CTX |  M27 clone (slightly modified)   |
 Comtrex - M27 Option                | NOT rel. | CMM |  M27 clone                       |
 Concept Golf Management System      | 5004-093 | CGM |  FIAS, TCP/IP supported          |
 Connected Retailer by NSB Group     | NOT rel. | NSB |  FIAS, TCP/IP supported          |
 Control Transaction CTC System 1000 | 5004-019 | CTC |                                  |
 Cooper POS                          | 5004-130 | COO |  M27 clone                       |
 Counter Solutions                   | NOT rel. | COT |  FIAS, TCP/IP supported          |
 Crescent Golf POS System            | 5004-134 | CRE |  M27 clone                       |
                                     |          |     |                                  |
 Deltadator - E.H.C.                 | NOT rel. | DLD |  FIAS, TCP/IP supported          |
 Desbravador - POS                   | 5004-242 | DBR |  FIAS, TCP/IP supported          |
 Digital Dining Restaurant Mgmnt Sys.| 5004-044 | DDI |  M27 clone                       |
 Double Eagle                        | 5004-076 | DEP |  M27 clone                       |
 DTPOS - PIS Data Communication      | NOT rel. | DTP |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 E.p.H.y.R. Pos                      | NOT rel. | EHR |  FIAS                            |
 e-Leisure Management Suite          | 5004-207 | ELM |  FIAS, TCP/IP supported          |
 EAS, Elizabeth Arden Salons         | 5004-083 | EAS |  FIAS                            |
 Easy Cashing                        | NOT rel. | ECG |  M27 clone, TCP/IP supported     |
 eClubLogic POS                      |RESTRICTED| ECP |  FIAS, TCP/IP supported          |
 EPlus Point of Sales                | 5004-059 | EPL |  FIAS                            |
 EPnet - POS                         | 5004-186 | EPN |  FIAS, TCP/IP supported          |
 EPOS v3, Bank Solutions             |RESTRICTED| EBS |  FIAS                            |
 ESP Spa Manager                     | NOT rel. | EPM |  FIAS, TCP/IP supported          |
 EuCaSoft - POS                      | 5004-135 | EUC |  FIAS, TCP/IP supported          |
 Evangel Limitted                    | 5004-089 | EVS |  NC1 clone                       |
 ezBook POS                          | 5004-182 | EZB |  FIAS, TCP/IP supported          |
 eZee SPA - Software Interface       | NOT rel. | EZE |  FIAS, TCP/IP supported          |
 EZPOS - EZLinks Point-of-Sale       | 5004-164 | EZP |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 Fareway B.O.S.S.                    | NOT rel. | BSS |  FIAS, TCP/IP supported          |
 Fairway Systems Decision Support    | 5004-099 | FSD |  M27 clone                       |
 FHS POS, Fusion of Hotel System     | 5004-104 | FFU |  FIAS, TCP/IP supported          |
 Fiscal Systems                      | NOT rel. | FIS |  FIAS                            |
 FMI - Fort McDowell Interface       |RESTRICTED| FMI |  FIAS, TCP/IP supported          |
 Focus, Secrect POS                  | 5004-101 | SSI |  M27 clone                       |
 Food 500/Alto Praha                 | 5004-050 | FO5 |  FIAS                            |
 Fore! Golf Course Management        | 5004-132 | FOR |  M27 clone                       |
 FORTUNE POS - IDS SOFTWARE          |RESTRICTED| FRT |  M27 clone                       |
 Fulcrum POS                         | NOT rel. | FUL |  FIAS, TCP/IP supported          |
 Fuji Control Center                 | 5004-025 | FCP |                                  |
 Funcontrol - SPA                    | 5004-166 | FUS |  FIAS, TCP/IP supported          |
 Future P.O.S.                       | 5004-119 | FUT |  M27 clone                       |
                                     |          |     |                                  |
 GARP, ARNE MADRO EDV                | NOT rel. | GAP |  FIAS                            |
 Gaston Touch - Toshiba              | 5004-183 | GSO |  M27 clone                       |
 GASTRO-TOUCH                        | 5004-179 | GAH |  M27 clone                       |
 Gastrofix (nur kleine Schnittstelle)| (R)      | GTF |                                  |
 Golf Gopher - SPS Golf Mngmt. System| NOT rel. | GOG |  FIAS, TCP/IP supported          |
 Golf Pro by Visual One              | NOT rel. | GPV |  M27 clone                       |
 GolfSpain                           | NOT rel. | GOS |  FIAS, TCP/IP supported          |
 GolfWare Resortcard                 | 5004-216 | GWR |  FIAS, TCP/IP supported          |
 Gourmate Management System, Infrasys| 5004-066 | GMS |  M27 clone                       |
 Gourmate Restaurant Managem. System | 5004-092 | GOU |  FIAS, TCP/IP supported          |
 GT POS-PMS Interface                | NOT rel. | GTP |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 HIS.PlanWellnessSPA                 | 5004-201 | HPW |  FIAS, TCP/IP supported          |
 HostWare HOSVEN                     | NOT rel. | HOS |  FIAS                            |
 HOTELEC POS                         | NOT rel. | HTE |  FIAS                            |
 HotTech POS                         | 5004-091 | HTT |  FIAS                            |
 HSI Profit Series                   | 5004-026 | MGE |  M27 clone (Former: Good Eats)   |
 HUT, Huatian Hotel POS System       | NOT rel. | HUT |  FIAS                            |
                                     |          |     |                                  |
 IBS-POS                             | 5004-098 | IBP |  M27 clone                       |
 I-CONTROL, ICON Software            |RESTRICTED| ICO |  FIAS                            |
 Ideal ICS Server                    | 5004-195 | IIS |  FIAS, TCP/IP supported          |
 IFTV - Top Vital OPERA posting IFC  | 5004-155 | IFT |  FIAS, TCP/IP supported          |
 InfoGenesis Hospitality System      | 5004-048 | IHS |  FIAS, TCP/IP & Full-duplex ONLY!|
 INKA POS (by INDATEC)               | 5004-088 | INK |  M27 clone, TCP/IP supported     |
 In-Order Interface Module           | 5004-205 | IOR |  FIAS, TCP/IP supported          |
 InnSist POS                         | 5004-208 | INS |  FIAS, TCP/IP supported          |
 Intelli Spa                         | NOT rel. | ILS |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 JassSuite System                    | 5004-197 | JSS |  FIAS, TCP/IP supported          |
 Jetz - SmartTill Point of Sale      | 5004-157 | JZS |  FIAS, TCP/IP supported          |
 Jonas, Gary Jonas Computing Ltd.    | 5004-086 | GJC |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 Kascom                              | 5004-018 | MFO |  M27 clone                       |
 KOR*POS - Point of Sale             | NOT rel. | KOP |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 LAPIS SPA Program                   | NOT rel. | LAP |  FIAS, TCP/IP supported          |
 Legenda Hotel POS System            | NOT rel. | LEG |  FIAS                            |
 LS Retail-InfoStore - InfoHospitalit| NOT rel. | LSR |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 Maitre D, POSERA                    | 5004-096 | PRA |  M27 clone (formerly GAMMA POS)  |
 MATRIX POS                          | 5004-196 | MTP |  M27 clone, TCP/IP supported     |
 Matrix POS - FIAS (Arabella only)   | NOT rel. | MAO |  FIAS, TCP/IP supported          |
 Melzer POS                          | 5004-052 | LIM |  FIAS (former:LIMA Kassensystem) |
 Merchant Retail Management System   | NOT rel. | MRM |  Squirrel (SQL) clone            |
 MFRI POS                            |RESTRICTED| MFR |  FIAS, TCP/IP UK only, no suport from Development for this driver|
 Micros 2700/4700                    | 5004-006 | M27 |                                  |
 Micros 3700 Enhanced                | 5004-074 | M87 |  SK, TCP/IP supported            |
 Micros 3700/8700/9700(M27 Mode)+TCP | 5004-036 | M37 |  TCP/IP supported                |
 Micros 3700/8700/9700 XML-to-IFC8   | NOT Ava. | X87 |  TCP/IP supported                |
  +> This interface is currently in the testphase and is not available yet.
 Micros 8700/9700 Enhanced           | 5004-020 | M87 |  SK, TCP/IP supported            |
 Micros e7 - Rest. Management System | 5004-149 | ME7 |  TCP/IP supported                |
 Micros E7 Enhanced                  | 5004-169 | M87 |  SK, TCP/IP supported            |
  +>No ISLs, but DLLs from the e-POS team needed on the Micros side.                     |
 Micros-Fidelio POS System           | 5004-100 | MFP |  FIAS, ONLY TCP/IP               |
  +>Larger installations only in combination with IFC8.                                  |
 Millenium SPA System                | 5004-123 | MSA |  FIAS                            |
                                     |          |     |                                  |
 NCR 2126/2170                       | 5004-007 | NC1 |                                  |
 NCR 2160                            | 5004-008 | NC1 |                                  |
 NCR 2760                            | 5004-009 | NC1 |                                  |
 NCR 7054                            | 5004-037 | NC7 |                                  |
 NorthStar Club Management System    | 5004-175 | NCM |  M27 clone, TCP/IP supported     |
 Nymphea Spa POS                     |RESTRICTED| NYS |  M27 clone                       |
                                     |          |     |                                  |
 Odysee - Sigma SA                   | 5004-187 | ODY |  FIAS, TCP/IP supported          |
 Optima Spa                          | 5004-231 | OSP |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 Panacea POS                         |RESTRICTED| PAN |  M27 clone                       |
 PAR GOLF                            | 5004-029 | PAR |  M27 clone                       |
 PC Caddie, Schmedding Software Sys. | 5004-087 | CAD |  FIAS, TCP/IP supported          |
 PC Cash 1000                        | 5004-039 | PCC |  FIAS                            |
 Perfect 2 - Interbrain              | NOT rel. | PFC |  FIAS, TCP/IP supported          |
 PI Electronique/CKS                 | NOT rel. | PIE |  FIAS                            |
 PixelPoint 2000                     | 5004-073 | PIX |  FIAS                            |
 POSITIVE, POS Ltd.                  | NOT rel. | POS |  FIAS                            |
 POSitouch                           | 5004-031 | PIT |                                  |
 Postec RMS/PMS Interface            | 5004-193 | PSC |  M27 clone, TCP/IP supported     |
 POWERGOLF and POWERCLUB             | NOT rel. | PWR |  FIAS, TCP/IP supported          |
 Premier SPA-Chase BS / Premier Sft. | 5004-075 | CBS |  FIAS, TCP/IP supported          |
 Pro Salon - ProSolutions            | 5004-138 | PPS |  M27 Clone                       |
 Pusatec Oyb - SPA                   | 5004-239 | POU |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 R-Keeper, UCS                       | 5004-173 | RKE |  M27 clone, TCP/IP supported     |
 RecTrac                             |RESTRICTED| RCT |  FIAS, TCP/IP supported          |
 Remanco 1600, 1700, 1900 HMS        | 5004-012 | RC1 |                                  |
 Remanco Vision PMSI                 | 5004-013 | RC2 |                                  |
 ResortSuite POS - EnableZ           | NOT rel. | RSP |  M27 clone                       |
 Restaurant Manager (M27 clone)      | 5004-082 | RMM |  M27 clone                       |
 Retail Pro PMS Link                 | NOT rel. | RPP |  M27 clone                       |
 Rio Systems                         | 5004-077 | RIO |  FIAS                            |
 RIS 2000 Hotel System Link          | 5004-032 | RIS |                                  |
 RMS - Touch POS                     |RESTRICTED| RMS |  M27 clone                       |
 ROM - POS                           | NOT rel. | RPO |  FIAS, TCP/IP supported          |
 ROTSHTEN - SPA                      | NOT rel. | ROT |  FIAS, TCP/IP supported          |
 RPower POS                          | 5004-145 | RPR |  M27 clone                       |
 RSM POS System                      | 5004-053 | RSM |                                  |
                                     |          |     |                                  |
 S.A.M. by Milano                    | 5004-153 | SMM |  M27 clone                       |
 S3 POS - sysTeam GmbH               | NOT rel. | S3P |  FIAS, TCP/IP supported          |
 Sable 100NT                         | 5004-045 | SAB |                                  |
 Salus POS                           | NOT rel. | SLP |  FIAS, TCP/IP supported          |
 Schultes HS1008-3, 2008, 3008-3/4   | 5004-014 | SH1 |                                  |
 Seito F&B Management System         | 5004-212 | SEI |  FIAS, TCP/IP supported          |
 Seltz Serenissima Informatica       | 5004-115 | SZS |  FIAS, TCP/IP supported          |
 SharpPOS Software                   | NOT rel. | SHP |  M27 clone, TCP/IP supported     |
 ShawMan POS                         |RESTRICTED| SHM |  M27 clone                       |
 SilverWare POS                      | 5004-107 | SIL |  Squirrel (SQL) clone            |
 Sitel POS                           | NOT rel. | SIE |  FIAS                            |
 SK C&C - DelVino POS Interface Sys. | NOT rel. | SKD |  FIAS, TCP/IP supported          |
 Smart Butler                        | 5004-106 | SBU |  FIAS, TCP/IP supported          |
 SmartPOST                           | NOT rel. | SMA |  FIAS                            |
 SMS Vers 5.x                        | 5004-017 | SMS |                                  |
 Smyth POS                           | 5004-033 | SPS |  Formerly: "Smith POS"           |
 Smyth POS, Micros Emulation         | NOT rel. | SMY |  M27 clone, TCP/IP supported     |
 SNGFI - Spectrum NG Fidelio Interf. | NOT rel. | SNG |  FIAS, TCP/IP supported          |
 SoftBrands POS                      | NOT rel. | SOF |  M27 clone, TCP/IP supported     |
 SpaBiz                              | 5004-133 | SPZ |  FIAS, TCP/IP supported          |
 Spasoft Activity                    | 5004-080 | SAM |  M27 clone                       |
 Squirrell                           | 5004-016 | SQL |                                  |
 SRO Ticketing System                | NOT rel. | SRO |  FIAS, TCP/IP supported          |
 SuitPOS Enterprise                  | NOT rel. | SPE |  FIAS, TCP/IP supported          |
 Sysnet POS                          | NOT rel. | SYS |  FIAS, TCP/IP supported          |
 System3 POS                         | NOT rel. | ST3 |  M27 clone                       |
 System Five Integration with OPERA  | NOT rel. | SFI |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 TAC - Reservation Assistant         | 5004-114 | TAC |  FIAS, TCP (Former: TAC-RAFidEx) |
 TAI Club Management                 |RESTRICTED| TAI |  M27 clone, TCP/IP supported     |
 TEC America, INC FDS 200            | 5004-041 | FDS |                                  |
 TEC Gaston                          | NOT rel. | GTO |  FIAS                            |
 Tecnhotel POS                       | NOT rel. | TCN |  FIAS, TCP/IP supported          |
 Tillypad POS                        | NOT rel. | TIY |  M27 clone                       |
 Touch. Interface, Prologic          |RESTRICTED| TOU |  FIAS                            |
                                     |          |     |                                  |
 VARIBON - OPERA Posting Interface   | 5004-161 | VRB |  FIAS, TCP/IP supported          |
 Varilek WinKasse                    | NOT rel. | VWK |  M27 clone                       |
 Vending Genie - Hospitality         | 5004-226 | VGH |  M27 clone, TCP/IP supported     |
 Versitouch/RCS-100                  | 5004-062 | RCS |  FIAS (Former: RCS-100 / RCS)    |
 Virtual Salon                       | NOT rel. | VTS |  FIAS, TCP/IP supported          |
 VPOS Point of Sale system           | 5004-094 | VPO |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 WaiterPad - PalmTEQ Limited         | NOT rel. | WPP |  FIAS, TCP/IP supported          |
 Winner POS                          | 5004-146 | WPS |  M27 clone                       |
 Winsuite 99, FCS                    | 5004-072 | FPO |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 Xclusive - SPA System (Gumnuts)     | 5004-125 | XSS |  FIAS, TCP/IP supported          |
 XENIA POS                           | 5004-105 | XEN |  FIAS, TCP/IP supported          |
 XN Hotels DOT POS                   | 5004-218 | XHD |  M27 clone, TCP/IP supported     |
                                     |          |     |                                  |
 YellowTip-Micros PMS Interface      | NOT rel. | YTP |  M27 clone, TCP/IP supported     |
                                     |          |     |                                  |
 ZONAL Fidelio Hotel Link            | NOT rel. | ZON |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
                                     |          |     |                                  |
 -----------------------------------------------------------------------------------------
 Discontinued POS Interfaces
 The following interfaces are NOT available for installation any longer.
 They are only listed in this EH for support of the few remaining installations.
 Name                                | Art.Nr.  | FKT | Comments                         |
 -----------------------------------------------------------------------------------------
                                     |          |     |                                  |
 Bodan IMS Servent                   | DISCONT. | BOD |  FIAS                            |
                                     |          |     |                                  |
 Cascade 2, Hartek SA                | DISCONT. | CC2 |  FIAS                            |
                                     |          |     |                                  |
 Dino - ETC POS                      | DISCONT. | DIN |  M27 clone, TCP/IP supported     |
                                     |          |     |                                  |
 Golfmaster / ESP                    | DISCONT. | ESP |  FIAS                            |
                                     |          |     |                                  |
 Hospital Ordering System            | DISCONT. | HOR |  FIAS, TCP/IP supported          |
 Impuls Fashion Retail               | DISCONT. | IMP |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 LTC POS System, LinTong Telecom     | DISCONT. | LTP |  FIAS                            |
                                     |          |     |                                  |
 Mannesmann MAFIS & Entr.            | DISCONT. | MAF |  FIAS                            |
 Micros 470,470E,473,473E            | DISCONT. | M47 |                                  |
 Micros 9700 Off-line Capable System | DISCONT. | F97 |  NOT available yet !!            |
                                     |          |     |                                  |
 NCR 9995                            | DISCONT. | NC9 |                                  |
 Nixdorf GAR.ON 8862                 | DISCONT. | NG6 |                                  |
                                     |          |     |                                  |
 OMRON Gateway                       | DISCONT. | OMR |  Similar to Remanco (RC1)        |
                                     |          |     |                                  |
 Proshop Suite 5.x, LinksTime        | DISCONT. | PRS |  FIAS                            |
                                     |          |     |                                  |
 Robinson Geldb.rse, OPC             | DISCONT. | RGB |  FIAS, TCP/IP supported          |
                                     |          |     |                                  |
 Strempel's Shopping Center          | DISCONT. | SSC |  FIAS                            |
                                     |          |     |                                  |
 Tc POS, TC Systems                  | DISCONT. | TCP |  FIAS                            |
 Touch'n Serve                       | DISCONT. | TOS |                                  |
 TouchPOS, TouchTech Europe          | DISCONT. | TOP |  FIAS                            |
                                     |          |     |                                  |
 Wings/Unipos Link, BAS GmbH         | DISCONT. | WUL |  FIAS                            |
                                     |          |     |                                  |
                                     |          |     |                                  |
 -----------------------------------------------------------------------------------------


Siemens Caracas (NCC)


Specific Interface Setup

As of version 7.0.6 it is possible to send 'Additional guest info' (C,3) as extra field on the end of the INFO-record.

Configuration for the value is done through DefRef2 for PostListItem. (Remember: The field has only 3 characters!!)


Test

Type topic text here.


Video Posting Only - Interfaces

There are no VPO-I/Fs supported yet. (May 2003)


What is IFC8 ??

Type topic text here.


What's new in 10.0.0

What's new in 9.6.3 (August 19 2015)

Due to Oracle policies we do a version jump for the IFC8.exe and IFCbusi versions to harmonize with the Suite8 PMS versions now.

This will have no impact on the Opera PMS versions - IFC8 will still be compatible with Opera PMS.

due to the delay of Release of Suite8 V.10.0 we need to revert back to a lower IFC8 version number as to comply with the latest Suite8 Release which is 8.9.6.3 (August 2015)

Formerly released IFC8 Version 10.0.0 has been deleted from available FTP Server and must not be installed anymore !!

all changes in release 10.0.0 will be included in this version 9.6.3 !!

Changes in this version:

.

  • Suite8: IfcBusi: fixed an internal XSS Error found by Fortify scanning tool

  • Suite8 only: modified CommMainClass_CheckLic: disable the BedAndBreakFast_Max_IfcNum check - with Suite8 Small Business Edition the number of active IFC 8 interface was limited to '3'. Due to new pricing this limitation has been removed now.

  • Added new FIAS driver for TMS IFC "Wildix WGW - Wildix srl" (FKT FIAS_WGW) - Italy EMEA

  • Added new FIAS driver for VSS IFC "Hotel Content Management System - SGP Contracts Limited" (FKT FIAS_HCM) - UK EMEA

  • fixed issue "Ifc8Service at OS StartUp"(since V8.1.5) - IFC8 service did not start automatically when Service Startup Type = "Automatic" when OS = Vista / Win7 / Win8 / 2008