using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;

namespace UnifiedPOS.PointCardRW.V1_4
{
    [ServiceContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public interface PointCardRW
    {
        #region Version 1.1

        //
        // Common Properties
        //

        //[OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetAutoDisable", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetAutoDisableResponse")]
        //[FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        //bool GetAutoDisable(string ConsumerID);

        //[OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetAutoDisable", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetAutoDisableResponse")]
        //[FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        //void SetAutoDisable(string ConsumerID, bool AutoDisable);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapCompareFirmwareVersion", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapCompareFirmwareVersionResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapCompareFirmwareVersion(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapPowerReporting", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapPowerReportingResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        PowerReporting GetCapPowerReporting(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapStatisticsReporting", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapStatisticsReportingResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapStatisticsReporting(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapUpdateFirmware", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapUpdateFirmwareResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapUpdateFirmware(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapUpdateStatistics", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapUpdateStatisticsResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapUpdateStatistics(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCheckHealthText", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCheckHealthTextResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        string GetCheckHealthText(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetClaimed", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetClaimedResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetClaimed(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetDataCount", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetDataCountResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetDataCount(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetDataEventEnabled", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetDataEventEnabledResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetDataEventEnabled(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetDataEventEnabled", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetDataEventEnabledResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetDataEventEnabled(string ConsumerID, bool DataEventEnabled);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetDeviceEnabled", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetDeviceEnabledResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetDeviceEnabled(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetDeviceEnabled", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetDeviceEnabledResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetDeviceEnabled(string ConsumerID, bool DeviceEnabled);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetFreezeEvents", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetFreezeEventsResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetFreezeEvents(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetFreezeEvents", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetFreezeEventsResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetFreezeEvents(string ConsumerID, bool FreezeEvents);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetOutputID", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetOutputIDResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetOutputID(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetPowerNotify", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetPowerNotifyResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        PowerNotification GetPowerNotify(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetPowerNotify", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetPowerNotifyResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetPowerNotify(string ConsumerID, PowerNotification PowerNotify);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetPowerState", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetPowerStateResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        PowerState GetPowerState(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetState", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetStateResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        ControlState GetState(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetDeviceControlDescription", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetDeviceControlDescriptionResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        string GetDeviceControlDescription(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetDeviceControlVersion", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetDeviceControlVersionResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        UposVersion GetDeviceControlVersion(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetDeviceServiceDescription", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetDeviceServiceDescriptionResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        string GetDeviceServiceDescription(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetDeviceServiceVersion", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetDeviceServiceVersionResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        UposVersion GetDeviceServiceVersion(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetPhysicalDeviceDescription", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetPhysicalDeviceDescriptionResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        string GetPhysicalDeviceDescription(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetPhysicalDeviceName", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetPhysicalDeviceNameResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        string GetPhysicalDeviceName(string ConsumerID);

        //
        // Specific Properties
        //

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapBold", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapBoldResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapBold(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapCardEntranceSensor", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapCardEntranceSensorResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapCardEntranceSensor(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapCharacterSet", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapCharacterSetResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetCapCharacterSet(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapCleanCard", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapCleanCardResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapCleanCard(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapClearPrint", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapClearPrintResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapClearPrint(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapDHigh", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapDHighResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapDHigh(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapDWide", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapDWideResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapDWide(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapDWideDHigh", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapDWideDHighResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapDWideDHigh(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapItalic", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapItalicResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapItalic(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapLeft90", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapLeft90Response")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapLeft90(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapMapCharacterSet", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapMapCharacterSetResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapMapCharacterSet(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapPrint", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapPrintResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapPrint(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapPrintMode", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapPrintModeResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapPrintMode(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapRight90", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapRight90Response")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapRight90(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapRotate180", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapRotate180Response")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetCapRotate180(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapTracksToRead", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapTracksToReadResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetCapTracksToRead(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapTracksToWrite", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCapTracksToWriteResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetCapTracksToWrite(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCardState", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCardStateResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        PointCardState GetCardState(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCharacterSet", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCharacterSetResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetCharacterSet(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetCharacterSet", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetCharacterSetResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetCharacterSet(string ConsumerID, int CharacterSet);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCharacterSetList", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetCharacterSetListResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        CharacterSetList GetCharacterSetList(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetFontTypefaceList", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetFontTypefaceListResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        FontTypefaceList GetFontTypefaceList(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetLineChars", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetLineCharsResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetLineChars(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetLineChars", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetLineCharsResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetLineChars(string ConsumerID, int LineChars);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetLineCharsList", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetLineCharsListResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        LineCharsList GetLineCharsList(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetLineHeight", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetLineHeightResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetLineHeight(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetLineHeight", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetLineHeightResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetLineHeight(string ConsumerID, int LineHeight);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetLineSpacing", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetLineSpacingResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetLineSpacing(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetLineSpacing", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetLineSpacingResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetLineSpacing(string ConsumerID, int LineSpacing);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetLineWidth", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetLineWidthResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetLineWidth(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetMapCharacterSet", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetMapCharacterSetResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        bool GetMapCharacterSet(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetMapCharacterSet", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetMapCharacterSetResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetMapCharacterSet(string ConsumerID, bool MapCharacterSet);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetMapMode", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetMapModeResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        MapMode GetMapMode(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetMapMode", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetMapModeResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetMapMode(string ConsumerID, MapMode MapMode);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetMaxLine", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetMaxLineResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetMaxLine(string ConsumerID);


        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetPrintHeight", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetPrintHeightResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetPrintHeight(string ConsumerID);

        //ReadState1とReadState2がClass1.csにない(POS for .netにない)。
        //PointCardReadWriteStates GetReadState();

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetReadState", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetReadStateResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        PointCardReadWriteStates GetReadState(string ConsumerID);

        //RecvLength1とRecvLength2がClass1.csにない(POS for .netにない)。
        //PointCardReceiveLengths GetRecvLength();

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetRecvLength", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetRecvLengthResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        PointCardReceiveLengths GetRecvLength(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetSidewaysMaxChars", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetSidewaysMaxCharsResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetSidewaysMaxChars(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetSidewaysMaxLines", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetSidewaysMaxLinesResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetSidewaysMaxLines(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTracksToRead", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTracksToReadResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetTracksToRead(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetTracksToRead", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetTracksToReadResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetTracksToRead(string ConsumerID, int TracksToRead);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTracksToWrite", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTracksToWriteResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetTracksToWrite(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetTracksToWrite", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetTracksToWriteResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetTracksToWrite(string ConsumerID, int TracksToWrite);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTrack1Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTrack1DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        byte[] GetTrack1Data(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTrack2Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTrack2DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        byte[] GetTrack2Data(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTrack3Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTrack3DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        byte[] GetTrack3Data(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTrack4Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTrack4DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        byte[] GetTrack4Data(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTrack5Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTrack5DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        byte[] GetTrack5Data(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTrack6Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetTrack6DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        byte[] GetTrack6Data(string ConsumerID);

        //WriteState1とWriteState2がClass1.csにない(POS for .netにない)。
        //PointCardReadWriteStates GetWriteState();

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWriteState", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWriteStateResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        PointCardReadWriteStates GetWriteState(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWrite1Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWrite1DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        byte[] GetWrite1Data(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetWrite1Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetWrite1DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetWrite1Data(string ConsumerID, byte[] Write1Data);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWrite2Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWrite2DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        byte[] GetWrite2Data(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetWrite2Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetWrite2DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetWrite2Data(string ConsumerID, byte[] Write2Data);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWrite3Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWrite3DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        byte[] GetWrite3Data(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetWrite3Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetWrite3DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetWrite3Data(string ConsumerID, byte[] Write3Data);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWrite4Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWrite4DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        byte[] GetWrite4Data(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetWrite4Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetWrite4DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetWrite4Data(string ConsumerID, byte[] Write4Data);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWrite5Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWrite5DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        byte[] GetWrite5Data(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetWrite5Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetWrite5DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetWrite5Data(string ConsumerID, byte[] Write5Data);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWrite6Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWrite6DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        byte[] GetWrite6Data(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetWrite6Data", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetWrite6DataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]        
        void SetWrite6Data(string ConsumerID, byte[] Write6Data);

        //
        // Common Methods
        //

        //[OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/Open", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/OpenResponse")]
        //[FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        //void Open(string ConsumerID, string EndpointAddress);

        //[OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/Close", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/CloseResponse")]
        //[FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        //void Close(string ConsumerID, string EndpointAddress);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/Claim", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/ClaimResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void Claim(string ConsumerID, int Timeout);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/Release", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/ReleaseResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void Release(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/CheckHealth", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/CheckHealthResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void CheckHealth(string ConsumerID, HealthCheckLevel Level);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/ClearInput", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/ClearInputResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void ClearInput(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/ClearInputProperties", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/ClearInputPropertiesResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void ClearInputProperties(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/ClearOutput", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/ClearOutputResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void ClearOutput(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/DirectIO", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/DirectIOResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        DirectIOData DirectIO(string ConsumerID, int Command, int Data, object Obj);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/CompareFirmwareVersion", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/CompareFirmwareVersionResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        CompareFirmwareResult CompareFirmwareVersion(string ConsumerID, string FirmwareFileName);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/ResetStatistics", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/ResetStatisticsResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void ResetStatistics(string ConsumerID, StatisticList StatisticsBuffer);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/RetrieveStatistics", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/RetrieveStatisticsResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        string RetrieveStatistics(string ConsumerID, StatisticList StatisticsBuffer);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UpdateFirmware", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UpdateFirmwareResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void UpdateFirmware(string ConsumerID, string FirmwareFileName);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UpdateStatistics", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UpdateStatisticsResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void UpdateStatistics(string ConsumerID, StatisticList StatisticsBuffer);

        //
        // Specific Methods
        //

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/BeginInsertion", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/BeginInsertionResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void BeginInsertion(string ConsumerID, int Timeout);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/BeginRemoval", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/BeginRemovalResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void BeginRemoval(string ConsumerID, int Timeout);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/CleanCard", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/CleanCardResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void CleanCard(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/ClearPrintWrite", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/ClearPrintWriteResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void ClearPrintWrite(string ConsumerID, PointCardAreas Kind, int HPosition, int VPosition, int Width, int Height);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/EndInsertion", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/EndInsertionResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void EndInsertion(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/EndRemoval", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/EndRemovalResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void EndRemoval(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/PrintWrite", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/PrintWriteResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void PrintWrite(string ConsumerID, PointCardAreas Kind, int HPosition, int VPosition, string Data);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/RotatePrint", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/RotatePrintResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void RotatePrint(string ConsumerID, Rotation Rotation);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/ValidateData", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/ValidateDataResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void ValidateData(string ConsumerID, string Data);

        #endregion

        #region Version 1.2

        //
        // Session Management
        //

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWSPOSVersion", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetWSPOSVersionResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        UposVersion GetWSPOSVersion();

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GenerateConsumerID", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GenerateConsumerIDResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        string GenerateConsumerID();

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/OpenSession", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/OpenSessionResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void OpenSession(string ConsumerID, string EndpointAddress);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/CloseSession", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/CloseSessionResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void CloseSession(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetProviderSessionTimeout", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetProviderSessionTimeoutResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        int GetProviderSessionTimeout(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/KeepAlive", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/KeepAliveResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void KeepAlive(string ConsumerID);

        //
        // Device Control
        // 

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/OpenDevice", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/OpenDeviceResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void OpenDevice(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/CloseDevice", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/CloseDeviceResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void CloseDevice(string ConsumerID);

        //
        // Event Polling
        //

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/PollForUPOSEvent", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/PollForUPOSEventResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        PointCardRWEvent PollForUPOSEvent(string ConsumerID);

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetEventResponse", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetEventResponseResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetEventResponse(string ConsumerID, PointCardRWEventResponse EventResponse);

        #endregion

        #region Version 1.3

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetEncryptedClaimedConsumerID", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/GetEncryptedClaimedConsumerIDResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        string GetEncryptedClaimedConsumerID();

        [OperationContract(Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetEventRequestProperties", ReplyAction = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/SetEventRequestPropertiesResponse")]
        [FaultContract(typeof(UposException), Action = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/UposException", Name = "UposException")]
        void SetEventRequestProperties(string ConsumerID, PropertyNameList list);

        #endregion
    }

    #region Version 1.1

    //
    // Common Data Types
    //

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class DirectIOData
    {
        [DataMember]
        public int Data { get; set; }
        [DataMember]
        public object Obj { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class UposException
    {
        [DataMember]
        public ErrorCode ErrorCode { get; set; }
        [DataMember]
        public int ErrorCodeExtended { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class UposVersion
    {
        [DataMember]
        public int Major { get; set; }
        [DataMember]
        public int Minor { get; set; }
        [DataMember]
        public int Build { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class Statistic
    {
        [DataMember]
        public string Name { get; set; }
        [DataMember]
        public string Value { get; set; }
    }

    [CollectionDataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/", ItemName = "Statistic")]
    public class StatisticList : List<Statistic>
    {
    }



    //
    // Common Enumerations
    //

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum CompareFirmwareResult
    {
        [EnumMember]
        CFV_FIRMWARE_OLDER,
        [EnumMember]
        CFV_FIRMWARE_SAME,
        [EnumMember]
        CFV_FIRMWARE_NEWER,
        [EnumMember]
        CFV_FIRMWARE_DIFFERENT,
        [EnumMember]
        CFV_FIRMWARE_UNKNOWN,
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum ControlState
    {
        [EnumMember]
        S_CLOSED,
        [EnumMember]
        S_IDLE,
        [EnumMember]
        S_BUSY,
        [EnumMember]
        S_ERROR,
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum ErrorCode
    {
        [EnumMember]
        E_CLOSED,
        [EnumMember]
        E_CLAIMED,
        [EnumMember]
        E_NOTCLAIMED,
        [EnumMember]
        E_NOSERVICE,
        [EnumMember]
        E_DISABLED,
        [EnumMember]
        E_ILLEGAL,
        [EnumMember]
        E_NOHARDWARE,
        [EnumMember]
        E_OFFLINE,
        [EnumMember]
        E_NOEXIST,
        [EnumMember]
        E_EXISTS,
        [EnumMember]
        E_FAILURE,
        [EnumMember]
        E_TIMEOUT,
        [EnumMember]
        E_BUSY,
        [EnumMember]
        E_EXTENDED,
        [EnumMember]
        E_DEPRECATED,
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum HealthCheckLevel
    {
        [EnumMember]
        CH_INTERNAL,
        [EnumMember]
        CH_EXTERNAL,
        [EnumMember]
        CH_INTERACTIVE,
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum PowerNotification
    {
        [EnumMember]
        PN_DISABLED,
        [EnumMember]
        PN_ENABLED,
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum PowerReporting
    {
        [EnumMember]
        PR_NONE,
        [EnumMember]
        PR_STANDARD,
        [EnumMember]
        PR_ADVANCED,
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum PowerState
    {
        [EnumMember]
        PS_UNKNOWN,
        [EnumMember]
        PS_ONLINE,
        [EnumMember]
        PS_OFF,
        [EnumMember]
        PS_OFFLINE,
        [EnumMember]
        PS_OFF_OFFLINE,
    }

    /*
    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum StatisticCategories
    {
        [EnumMember]
        All,
        [EnumMember]
        Manufacturer,
        [EnumMember]
        Upos,
    }
    */
    public class StatisticCategories
    {
        public const string All = "";
        public const string Manufacturer = "M_";
        public const string Upos = "U_";
    }

    //
    // Specific Data Types
    //

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class PointCardReadWriteStates
    {
        [DataMember]
        public PointCardReadWriteState Track1 { get; set; }
        [DataMember]
        public PointCardReadWriteState Track2 { get; set; }
        [DataMember]
        public PointCardReadWriteState Track3 { get; set; }
        [DataMember]
        public PointCardReadWriteState Track4 { get; set; }
        [DataMember]
        public PointCardReadWriteState Track5 { get; set; }
        [DataMember]
        public PointCardReadWriteState Track6 { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class PointCardReceiveLengths
    {
        [DataMember]
        public int Track1 { get; set; }
        [DataMember]
        public int Track2 { get; set; }
        [DataMember]
        public int Track3 { get; set; }
        [DataMember]
        public int Track4 { get; set; }
        [DataMember]
        public int Track5 { get; set; }
        [DataMember]
        public int Track6 { get; set; }
    }


    [CollectionDataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/", ItemName = "CharacterSet")]
    public class CharacterSetList : List<int>
    {
    }

    [CollectionDataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/", ItemName = "FontTypeface")]
    public class FontTypefaceList : List<string>
    {
    }

    [CollectionDataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/", ItemName = "LineChars")]
    public class LineCharsList : List<int>
    {
    }



    //
    // Specific Enumerations
    //

 　 /*
    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum CharacterSetCapability
    {
        [EnumMember]
        Alpha,
        [EnumMember]
        Ansi,
        [EnumMember]
        Ascii,
        [EnumMember]
        Kana,
        [EnumMember]   
        Kanji,
        [EnumMember] 
        Numeric,
        [EnumMember]   
        Unicode,
        [EnumMember]   
        Windows,
    }
    */

    //[DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class CharacterSetCapability
    {
        public const int PCRW_CCS_ALPHA = 1;
        public const int PCRW_CCS_KANA = 10;
        public const int PCRW_CCS_KANJI = 11;
        public const int PCRW_CCS_UNICODE = 997;
        public const int PCRW_CCS_ASCII = 998;
    }
    
    /*
    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum PointCardRWTracks
    {
        [EnumMember]
        Track1,
        [EnumMember]
        Track2,
        [EnumMember]
        Track3,
        [EnumMember]
        Track4,
        [EnumMember]
        Track5,
        [EnumMember]
        Track6,
    }
    */

    //[DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class PointCardRWTracks
    {
        public const int PCRW_TRACK1 = 1;
        public const int PCRW_TRACK2 = 2;
        public const int PCRW_TRACK3 = 4;
        public const int PCRW_TRACK4 = 8;
        public const int PCRW_TRACK5 = 16;
        public const int PCRW_TRACK6 = 32;
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum PointCardState
    {
        [EnumMember]
        PCRW_STATE_NOCARD,
        [EnumMember]
        PCRW_STATE_REMAINING,
        [EnumMember]
        PCRW_STATE_INRW,
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum PointCardAreas
    {
        [EnumMember]
        PrintArea,
        [EnumMember]
        MagneticTracks,
        [EnumMember]
        Both,
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum MapMode
    {
        [EnumMember]
        PCRW_MM_DOTS,
        [EnumMember]
        PCRW_MM_TWIPS,
        [EnumMember]
        PCRW_MM_ENGLISH,
        [EnumMember]
        PCRW_MM_METRIC,
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum Rotation
    {
        [EnumMember]
        PCRW_RP_RIGHT90,
        [EnumMember]
        PCRW_RP_LEFT90,
        [EnumMember]
        PCRW_RP_ROTATE180,
        [EnumMember]
        PCRW_RP_NORMAL,
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum PointCardReadWriteState
    {
        [EnumMember]
        SUCCESS,
        [EnumMember]
        EPCRW_START,
        [EnumMember]
        EPCRW_END,
        [EnumMember]
        EPCRW_PARITY,
        [EnumMember]
        EPCRW_ENCODE,
        [EnumMember]
        EPCRW_LRC,
        [EnumMember]
        EPCRW_VERIFY,
        [EnumMember]
        E_FAILURE,
    }

    //
    // Constants
    //

    public class ExtendedError
    {
        public const int EPCRW_READ = 201;
        public const int EPCRW_WRITE = 202;
        public const int EPCRW_JAM = 203;
        public const int EPCRW_MOTOR = 204;
        public const int EPCRW_COVER = 205;
        public const int EPCRW_PRINTER = 206;
        public const int EPCRW_RELEASE = 207;
        public const int EPCRW_DISPLAY = 208;
        public const int EPCRW_NOCARD = 209;
        public const int ESTATS_ERROR = 280;
        public const int EFIRMWARE_BAD_FILE = 281;
        public const int ESTATS_DEPENDENCY = 282;
    }

    public class CharacterSet
    {
        public const int PCRW_CCS_ANSI = 999;
        public const int PCRW_CCS_ASCII = 998;
        public const int PCRW_CCS_UNICODE = 997;
    }

    public class StatisticProperties
    {
        public const string CommunicationErrorCount = "CommunicationErrorCount";
        public const string DeviceCategory = "DeviceCategory";
        public const string FirmwareRevision = "FirmwareRevision";
        public const string HoursPoweredCount = "HoursPoweredCount";
        public const string InstallationDate = "InstallationDate";
        public const string Interface = "Interface";
        public const string ManufactureDate = "ManufactureDate";
        public const string ManufacturerName = "ManufacturerName";
        public const string MechanicalRevision = "MechanicalRevision";
        public const string ModelName = "ModelName";
        public const string SerialNumber = "SerialNumber";
        public const string UnifiedPOSVersion = "UnifiedPOSVersion";
    }

    public class Wait
    {
        public const int FOREVER = -1;
    }

    #endregion

    #region Version 1.2

    //
    // Event Polling
    //

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class PointCardRWEvent
    {
        [DataMember]
        public DataEvent DataEvent { get; set; }
        [DataMember]
        public DirectIOEvent DirectIOEvent { get; set; }
        [DataMember]
        public ErrorEvent ErrorEvent { get; set; }
        [DataMember]
        public OutputCompleteEvent OutputCompleteEvent { get; set; }
        [DataMember]
        public StatusUpdateEvent StatusUpdateEvent { get; set; }
        [DataMember]
        public DataContainedEvent DataContainedEvent { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class PointCardRWEventResponse
    {
        [DataMember]
        public DataEventResponse DataEventResponse { get; set; }
        [DataMember]
        public DataContainedEventResponse DataContainedEventResponse { get; set; }
        [DataMember]
        public DirectIOEventResponse DirectIOEventResponse { get; set; }
        [DataMember]
        public ErrorEventResponse ErrorEventResponse { get; set; }
        [DataMember]
        public OutputCompleteEventResponse OutputCompleteEventResponse { get; set; }
        [DataMember]
        public StatusUpdateEventResponse StatusUpdateEventResponse { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class DataEvent
    {
        [DataMember]
        public string Source { get; set; }
        [DataMember]
        public int EventID { get; set; }
        [DataMember]
        public DateTime TimeStamp { get; set; }
        [DataMember]
        public int Status { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class DataEventResponse
    {
        [DataMember]
        public int EventID { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class DirectIOEvent
    {
        [DataMember]
        public string Source { get; set; }
        [DataMember]
        public int EventID { get; set; }
        [DataMember]
        public DateTime TimeStamp { get; set; }
        [DataMember]
        public int EventNumber { get; set; }
        [DataMember]
        public int Data { get; set; }
        [DataMember]
        public object Obj { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class DirectIOEventResponse
    {
        [DataMember]
        public int EventID { get; set; }
        [DataMember]
        public DirectIOData DirectIOData { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class ErrorEvent
    {
        [DataMember]
        public string Source { get; set; }
        [DataMember]
        public int EventID { get; set; }
        [DataMember]
        public DateTime TimeStamp { get; set; }
        [DataMember]
        public ErrorCode ErrorCode { get; set; }
        [DataMember]
        public int ErrorCodeExtended { get; set; }
        [DataMember]
        public ErrorLocus ErrorLocus { get; set; }
        [DataMember]
        public ErrorResponse ErrorResponse { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class ErrorEventResponse
    {
        [DataMember]
        public int EventID { get; set; }
        [DataMember]
        public ErrorResponse ErrorResponse { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class OutputCompleteEvent
    {
        [DataMember]
        public string Source { get; set; }
        [DataMember]
        public int EventID { get; set; }
        [DataMember]
        public DateTime TimeStamp { get; set; }
        [DataMember]
        public int OutputID { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class OutputCompleteEventResponse
    {
        [DataMember]
        public int EventID { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class StatusUpdateEvent
    {
        [DataMember]
        public string Source { get; set; }
        [DataMember]
        public int EventID { get; set; }
        [DataMember]
        public DateTime TimeStamp { get; set; }
        [DataMember]
        public int Status { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class StatusUpdateEventResponse
    {
        [DataMember]
        public int EventID { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum ErrorLocus
    {
        [EnumMember]
        EL_INPUT,
        [EnumMember]
        EL_INPUT_DATA,
        [EnumMember]
        EL_OUTPUT,
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public enum ErrorResponse
    {
        [EnumMember]
        ER_CLEAR,
        [EnumMember]
        ER_CONTINUEINPUT,
        [EnumMember]
        ER_RETRY,
    }

    #endregion

    #region Version 1.3

    [CollectionDataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/", ItemName = "PropertyName")]
    public class PropertyNameList : List<string>
    {
    }



    [CollectionDataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/", ItemName = "Parameter")]
    public class ParameterList : Dictionary<string, object>
    {
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class DataContainedEvent
    {
        [DataMember]
        public string Source { get; set; }
        [DataMember]
        public int EventID { get; set; }
        [DataMember]
        public DateTime TimeStamp { get; set; }
        [DataMember]
        public int Status { get; set; }
        [DataMember]
        public ParameterList Parameters { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class DataContainedEventData
    {
        [DataMember]
        public int EventID { get; set; }
        [DataMember]
        public bool SetDataEventEnabled { get; set; }
        [DataMember]
        public bool CallClearInputProperties { get; set; }
    }

    [DataContract(Namespace = "http://www.nrf-arts.org/UnifiedPOS/PointCardRW/")]
    public class DataContainedEventResponse
    {
        [DataMember]
        public int EventID { get; set; }
        [DataMember]
        public bool SetDataEventEnabled { get; set; }
        [DataMember]
        public bool CallClearInputProperties { get; set; }
    }

    #endregion
}
