<?xml version="1.0" encoding="UTF-8"?>
<Domain xmlns="http://www.soti.net/connect-definitions"
    xmlns:xi="http://www.w3.org/2001/XInclude"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.soti.net/connect-definitions ../../../Soti.IoT.ProtocolDefinitions/Soti.IoT.ProtocolDefinitions.Parser/protocol.xsd">
    <Imports>
        <xi:include href="./base-rest-protocol.xml" parse="xml" />
    </Imports>

    <Messages>
        <Message id="BxlAlert">
            <Object id="Resource">
                <DataPointReference id="id" path="Bixolon-Alert#Id" />
                <DataPointReference id="description" path="Bixolon-Alert#Description" />
                <DataPointReference id="type" path="Bixolon-Alert#Type" />
                <DataPointReference id="priority" path="Bixolon-Alert#Priority" />
                <DataPointReference id="timestamp" path="Bixolon-Alert#Timestamp" />
            </Object>
        </Message>

        <Message id="BxlSetDevice">
            <Object id="Resource">
                <Object id="status">
                    <Object id="cashdrawer">
                        <Segment id="cashdrawer_status" type="string" />
                    </Object>
                </Object>
                <Object id="bluetooth">
                    <Segment id="support" type="boolean" />
                    <Segment id="enable" type="boolean" />
                    <Segment id="device_name" type="string" />
                    <Segment id="bluetooth_mode" type="string" />
                    <Segment id="encryption" type="boolean" />
                    <Segment id="connection_mode" type="string" />
                    <Segment id="ssp_mode" type="string" />
                    <Segment id="pincode" type="string" />
                </Object>

                <Object id="base">
                    <Segment id="darkness" type="integer" />
                    <Segment id="darkness_srp" type="integer" />
                    <Segment id="speed" type="float" />
                    <Segment id="speed_srp" type="integer" />
                    <Segment id="print_mode" type="string" />
                    <Segment id="media_type" type="string" />
                    <Segment id="tearoff_position" type="float" />
                    <Segment id="orientation" type="string" />
                    <Segment id="offset" type="float" />
                    <Segment id="paper_width" type="float" />
                    <Segment id="paper_length" type="float" />
                    <Segment id="media_handling" type="string" />
                    <Segment id="feed_option" type="string" />
                    <Segment id="cutting" type="string" />
                    <Segment id="CustomerName" type="string" />
                    <Segment id="PickupAddress" type="string" />
                    <Segment id="ShipperNumber" type="string" />
                    <Object id="buzzer">
                        <Segment id="support" type="boolean" />
                        <Segment id="buzzer_after_cut" type="string" />
                        <Segment id="buzzer_count" type="integer" />
                    </Object>
                    <Object id="paper_saving">
                        <Segment id="support" type="boolean" />
                        <Segment id="paper_saving_level" type="integer" />
                        <Segment id="paper_saving_correction_cut" type="boolean" />
                    </Object>
                </Object>

                <Object id="ethernet">
                    <Segment id="dhcp" type="boolean" />
                    <Segment id="ip" type="ipv4" />
                    <Segment id="subnet" type="ipv4" />
                    <Segment id="gateway" type="ipv4" />
                    <Object id="dns_server">
                        <Segment id="dns" type="string" />
                    </Object>
                    <Segment id="port_number" type="integer" />
                    <Segment id="inactivity_time" type="integer" />
                    <Segment id="user_id" type="string" />
                    <Segment id="user_password" type="string" />
                    <Segment id="mac" type="string" />
                </Object>

                <Object id="power">
                    <Segment id="save" type="boolean" />
                    <Segment id="save_time" type="integer" />
                    <Segment id="off" type="boolean" />
                    <Segment id="off_time" type="integer" />
                </Object>

                <Object id="serial">
                    <Segment id="baudrate" type="integer" />
                    <Segment id="databits" type="integer" />
                    <Segment id="stopbits" type="integer" />
                    <Segment id="parity" type="string" />
                    <Segment id="flowcontrol" type="string" />
                </Object>

                <Object id="snmp">
                    <Segment id="enable" type="boolean" />
                    <Segment id="read_key" type="string" />
                    <Segment id="readwrite_key" type="string" />
                    <Object id="trap">
                        <Segment id="trap_enable" type="boolean" />
                        <Segment id="trap_ip" type="string" />
                        <Segment id="trap_key" type="string" />
                    </Object>
                    <Object id="snmp_v3">
                        <Segment id="v3_enable" type="boolean" />
                        <Segment id="v3_name" type="string" />
                        <Segment id="v3_authen_password" type="string" />
                        <Segment id="v3_privacy_password" type="string" />
                        <Segment id="v3_authen_protocol" type="string" />
                        <Segment id="v3_privacy_protocol" type="string" />
                    </Object>
                </Object>

                <Object id="wlan">
                    <Segment id="dhcp" type="boolean" />
                    <Segment id="ip" type="ipv4" />
                    <Segment id="subnet" type="ipv4" />
                    <Segment id="gateway" type="ipv4" />
                    <Segment id="dns" type="string" />
                    <Segment id="port_number" type="integer" />
                    <Segment id="inactivity_time" type="integer" />
                    <Segment id="wlan_ssid" type="string" />
                    <Segment id="wlan_mode" type="string" />
                    <Segment id="wlan_authentication" type="string" />
                    <Segment id="wlan_encryption" type="string" />
                    <Segment id="wep64_key" type="string" />
                    <Segment id="wlan_key" type="string" />
                    <Segment id="eap_mode" type="string" />
                    <Segment id="eap_id" type="string" />
                    <Segment id="eap_password" type="string" />
                    <Segment id="rf_mode" type="string" />
                    <Object id="dns_server">
                        <Segment id="dns" type="string" />
                    </Object>
                </Object>
            </Object>
        </Message>

        <Message id="BxlGetMQTT" />
        <Message id="BxlMQTTInfo">
            <Object id="Resource">
                <DataPointReference id="host" path="MQTT-Settings#mqtt_server_ip_addr" />
                <DataPointReference id="port" path="MQTT-Settings#mqtt_port_number" />
                <DataPointReference id="username" path="MQTT-Settings#mqtt_user_name" />
                <DataPointReference id="qos" path="Bixolon-MQTT-Settings#qos" />
                <DataPointReference id="TenantId" path="MQTT-Settings#tenant_id" />
                <Object id="tls">
                    <DataPointReference id="useTLS" path="Bixolon-MQTT-Settings#UseTLS" />
                    <Object id="CaCrt">
                        <DataPointReference id="thumbprint" path="Bixolon-Certificate#CaCert_thumbprint" />
                        <DataPointReference id="issuer" path="Bixolon-Certificate#CaCert_issuer" />
                        <DataPointReference id="subject" path="Bixolon-Certificate#CaCert_subject" />
                        <Object id="validity">
                            <DataPointReference id="notbefore" path="Bixolon-Certificate#CaCert_valid_notbefore" />
                            <DataPointReference id="notafter" path="Bixolon-Certificate#CaCert_valid_notafter" />
                        </Object>
                    </Object>
                    <Object id="ClientCrt">
                        <DataPointReference id="thumbprint" path="Bixolon-Certificate#ClientCrt_thumbprint" />
                        <DataPointReference id="issuer" path="Bixolon-Certificate#ClientCrt_issuer" />
                        <DataPointReference id="subject" path="Bixolon-Certificate#ClientCrt_subject" />
                        <Object id="validity">
                            <DataPointReference id="notbefore" path="Bixolon-Certificate#ClientCrt_valid_notbefore" />
                            <DataPointReference id="notafter" path="Bixolon-Certificate#ClientCrt_valid_notafter" />
                        </Object>
                    </Object>
                </Object>
            </Object>
        </Message>
        <Message id="BxlGetDevice" />
        <Message id="BxlDeviceInfo">
            <Object id="Resource">
                <Object id="info">
                    <DataPointReference id="serial_number" path="GenericDeviceState#serial-number" />
                    <DataPointReference id="fw_version" path="base-module#version" />
                    <DataPointReference id="product_number" path="base-module#model-id" />
                    <DataPointReference id="manufacture" path="base-module#manufacturer" />
                    <DataPointReference id="Connect Interface" path="Bixolon-General#connect_interface" />
                    <Object id="bgt">
                        <DataPointReference id="support" path="BixolonDeviceOptions#bgt-support" />
                        <DataPointReference id="bgt_fw_version" path="Bixolon-General#bgt_fw_version" />
                    </Object>
                </Object>
                <Object id="status">
                    <DataPointReference id="printer_status" path="Bixolon-General#printer_status" />
                    <Object id="cashdrawer">
                        <DataPointReference id="support" path="BixolonDeviceOptions#cashdrawer-support" />
                        <DataPointReference id="cashdrawer_status" path="Bixolon-General#cashdrawer" />
                    </Object>
                    <Object id="battery">
                        <DataPointReference id="support" path="BixolonDeviceOptions#battery-support" />
                        <DataPointReference id="battery_level" path="battery_levelModule#battery_level" />
                    </Object>
                </Object>
                <Object id="statistic">
                    <DataPointReference id="memory_available" path="MemoryInfo#available-memory" />
                    <DataPointReference id="memory_used" path="Bixolon-General#memory_used" />
                    <DataPointReference id="motor_usage" path="Bixolon-General#motor_usage" />
                    <DataPointReference id="tph_usage" path="Bixolon-General#tph_usage" />
                    <DataPointReference id="cutter_usage" path="Bixolon-General#cutter_usage" />
                </Object>
                <Object id="base">
                    <DataPointReference id="darkness" path="Bixolon-PrintQuality-Datapoints#base-darkness" />
                    <DataPointReference id="darkness_srp" path="Bixolon-PrintQuality-Datapoints-SRP#base-darkness" />
                    <DataPointReference id="maxspeed" path="Bixolon-PrintQuality-Datapoints#base-maxspeed" />
                    <DataPointReference id="speed" path="Bixolon-PrintQuality-Datapoints#base-speed" />
                    <DataPointReference id="speed_srp" path="Bixolon-PrintQuality-Datapoints-SRP#base-speed" />
                    <DataPointReference id="print_mode" path="Bixolon-Print-Settings#base-print_mode" />
                    <DataPointReference id="media_type" path="Bixolon-MediaSensor#base-media_type" />
                    <DataPointReference id="tearoff_position" path="Bixolon-Print-Settings#base-tearoff_position" />
                    <DataPointReference id="orientation" path="Bixolon-Print-Settings#base-orientation" />
                    <DataPointReference id="offset" path="Bixolon-Print-Settings#base-offset" />
                    <DataPointReference id="paper_width" path="Bixolon-Print-Settings#base-paper_width" />
                    <DataPointReference id="paper_length" path="Bixolon-Print-Settings#base-paper_length" />
                    <DataPointReference id="media_handling" path="Bixolon-Print-Settings#base-media_handling" />
                    <DataPointReference id="feed_option" path="Bixolon-Print-Settings#base-feed_option" />
                    <DataPointReference id="cutting" path="Bixolon-Print-Settings#base-cutting" />
                    <DataPointReference id="CustomerName" path="BixolonCustomerInfo#CustomerName" />
                    <DataPointReference id="PickupAddress" path="BixolonCustomerInfo#PickupAddress" />
                    <DataPointReference id="ShipperNumber" path="BixolonCustomerInfo#ShipperNumber" />
                    <Object id="buzzer">
                        <DataPointReference id="support" path="BixolonDeviceOptions#buzzer-support" />
                        <DataPointReference id="buzzer_after_cut" path="Bixolon-Print-Settings#base-buzzer_after_cut" />
                        <DataPointReference id="buzzer_count" path="Bixolon-Print-Settings#base-buzzer_count" />
                    </Object>
                    <Object id="paper_saving">
                        <DataPointReference id="support" path="BixolonDeviceOptions#paper-saving-support" />
                        <DataPointReference id="paper_saving_level" path="Bixolon-Print-Settings#base-paper_saving_level" />
                        <DataPointReference id="paper_saving_correction_cut" path="Bixolon-Print-Settings#base-paper_saving_correction_cut" />
                    </Object>
                </Object>
                <Object id="ethernet">
                    <DataPointReference id="support" path="BixolonDeviceOptions#Wired-LAN-support" />
                    <DataPointReference id="dhcp" path="GenericNetworkIP4Lan#automatically_obtain_ip_address" />
                    <DataPointReference id="ip" path="GenericNetworkIP4Lan#generic-network-ipaddress" />
                    <DataPointReference id="subnet" path="GenericNetworkIP4Lan#generic-network-subnet-mask" />
                    <DataPointReference id="gateway" path="GenericNetworkIP4Lan#generic-network-gateway" />
                    <Object id="dns_server">
                        <DataPointReference id="support" path="BixolonDeviceOptions#dns-support" />
                        <DataPointReference id="dns" path="GenericNetworkIP4Lan#primary_dns_server_ip_address" />
                    </Object>
                    <DataPointReference id="port_number" path="Bixolon-Wired-LAN#Wired-LAN-port_number" />
                    <DataPointReference id="inactivity_time" path="Bixolon-Wired-LAN#Wired-LAN-inactivity_time" />
                    <DataPointReference id="mac" path="GenericNetworkIP4Lan#generic-network-mac" />
                    <DataPointReference id="user_id" path="Bixolon-Wired-LAN#Wired-LAN-user_id" />
                </Object>
                <Object id="wlan">
                    <DataPointReference id="support" path="BixolonDeviceOptions#WLAN-support" />
                    <DataPointReference id="dhcp" path="GenericNetworkIP4WLan#automatically_obtain_ip_address" />
                    <DataPointReference id="ip" path="GenericNetworkIP4WLan#generic-network-ipaddress" />
                    <DataPointReference id="subnet" path="GenericNetworkIP4WLan#generic-network-subnet-mask" />
                    <DataPointReference id="gateway" path="GenericNetworkIP4WLan#generic-network-gateway" />
                    <DataPointReference id="port_number" path="Bixolon-WLAN#wlan-port_number" />
                    <DataPointReference id="inactivity_time" path="Bixolon-WLAN#wlan-inactivity_time" />
                    <DataPointReference id="wlan_ssid" path="GenericWIFI#ssid" />
                    <DataPointReference id="wlan_mode" path="Bixolon-WLAN#wlan_mode" />
                    <DataPointReference id="wlan_authentication" path="Bixolon-WLAN#wlan_authentication" />
                    <DataPointReference id="wlan_encryption" path="Bixolon-WLAN#wlan_encryption" />
                    <DataPointReference id="eap_mode" path="Bixolon-WLAN#wlan-eap_mode" />
                    <DataPointReference id="eap_id" path="Bixolon-WLAN#wlan-eap_id" />
                    <DataPointReference id="rf_mode" path="Bixolon-WLAN#wlan-rf_mode" />
                    <DataPointReference id="wlan_fw_version" path="Bixolon-WLAN#wlan_fw_version" />
                    <DataPointReference id="mac" path="GenericNetworkIP4WLan#generic-network-mac" />
                    <DataPointReference id="user_id" path="Bixolon-WLAN#wlan-user_id" />
                    <Object id="dns_server">
                        <DataPointReference id="support" path="BixolonDeviceOptions#dns-support" />
                        <DataPointReference id="dns" path="GenericNetworkIP4WLan#primary_dns_server_ip_address" />
                    </Object>
                </Object>
                <Object id="bluetooth">
                    <DataPointReference id="support" path="BixolonDeviceOptions#bluetooth-support" />
                    <DataPointReference id="enable" path="Bixolon-Bluetooth#enable" />
                    <DataPointReference id="device_name" path="Bixolon-Bluetooth#device_name" />
                    <DataPointReference id="bluetooth_mode" path="Bixolon-Bluetooth#bluetooth_mode" />
                    <DataPointReference id="encryption" path="Bixolon-Bluetooth#encryption" />
                    <DataPointReference id="connection_mode" path="Bixolon-Bluetooth#connection_mode" />
                    <DataPointReference id="ssp_mode" path="Bixolon-Bluetooth#bluetooth-ssp_mode" />
                    <DataPointReference id="fw_version" path="bluetooth-fw_versionModule#bluetooth-fw_version" />
                    <DataPointReference id="mac" path="GenericNetworkBluetooth#bluetooth-device-address" />
                </Object>
                <Object id="serial">
                    <DataPointReference id="support" path="BixolonDeviceOptions#serial-support" />
                    <DataPointReference id="baudrate" path="Bixolon-Serial#serial-baudrate" />
                    <DataPointReference id="databits" path="Bixolon-Serial#serial-databits" />
                    <DataPointReference id="stopbits" path="Bixolon-Serial#serial-stopbits" />
                    <DataPointReference id="parity" path="Bixolon-Serial#serial-parity" />
                    <DataPointReference id="flowcontrol" path="Bixolon-Serial#serial-flowcontrol" />
                    <DataPointReference id="set_mode" path="Bixolon-Serial#serial-set_mode" />
                </Object>
                <Object id="power">
                    <DataPointReference id="support" path="BixolonDeviceOptions#power-support" />
                    <DataPointReference id="save" path="Bixolon-Power#power-save" />
                    <DataPointReference id="save_time" path="Bixolon-Power#power-save_time" />
                    <DataPointReference id="off" path="Bixolon-Power#power-off" />
                    <DataPointReference id="off_time" path="Bixolon-Power#power-off_time" />
                </Object>
                <Object id="snmp">
                    <DataPointReference id="support" path="BixolonDeviceOptions#snmp-support" />
                    <DataPointReference id="enable" path="Bixolon-SNMP#snmp-enable" />
                    <DataPointReference id="read_key" path="Bixolon-SNMP#snmp-read_key" />
                    <DataPointReference id="readwrite_key" path="Bixolon-SNMP#snmp-readwrite_key" />
                    <Object id="trap">
                        <DataPointReference id="support" path="BixolonDeviceOptions#trap-support" />
                        <DataPointReference id="trap_enable" path="Bixolon-SNMP#snmp-trap_enable" />
                        <DataPointReference id="trap_ip" path="Bixolon-SNMP#snmp-trap_ip" />
                        <DataPointReference id="trap_key" path="Bixolon-SNMP#snmp-trap_key" />
                    </Object>
                    <Object id="snmp_v3">
                        <DataPointReference id="support" path="BixolonDeviceOptions#snmp-v3-support" />
                        <DataPointReference id="v3_enable" path="Bixolon-SNMP#snmp-v3_enable" />
                        <DataPointReference id="v3_name" path="Bixolon-SNMP#snmp-v3_name" />
                        <DataPointReference id="v3_authen_protocol" path="Bixolon-SNMP#snmp-v3_authen_protocol" />
                        <DataPointReference id="v3_privacy_protocol" path="Bixolon-SNMP#snmp-v3_privacy_protocol" />
                    </Object>
                </Object>
                <Object id="battery">
                    <DataPointReference id="support" path="BixolonDeviceOptions#battery-support" />
                    <DataPointReference id="battery_sn" path="BatterySerialNumberModule#BatterySerialNumber" />
                    <DataPointReference id="battery_level" path="battery_levelModule#battery_level" />
                    <DataPointReference id="battery_temp" path="battery-temperatureModule#battery-temperature" />
                    <DataPointReference id="battery_voltage" path="voltageModule#voltage" />
                    <DataPointReference id="battery_status" path="Bixolon-Battery#battery_status" />
                    <DataPointReference id="battery_name" path="Bixolon-Battery#battery_name" />
                </Object>
                <Object id="dip_switch">
                    <DataPointReference id="support" path="BixolonDeviceOptions#dip-support" />
                    <DataPointReference id="1_1" path="Bixolon-DIP#dip_switch-1_1" />
                    <DataPointReference id="1_2" path="Bixolon-DIP#dip_switch-1_2" />
                    <DataPointReference id="1_3" path="Bixolon-DIP#dip_switch-1_3" />
                    <DataPointReference id="1_4" path="Bixolon-DIP#dip_switch-1_4" />
                    <DataPointReference id="1_5" path="Bixolon-DIP#dip_switch-1_5" />
                    <DataPointReference id="1_6" path="Bixolon-DIP#dip_switch-1_6" />
                    <DataPointReference id="1_7" path="Bixolon-DIP#dip_switch-1_7" />
                    <DataPointReference id="1_8" path="Bixolon-DIP#dip_switch-1_8" />
                    <DataPointReference id="2_1" path="Bixolon-DIP#dip_switch-2_1" />
                    <DataPointReference id="2_2" path="Bixolon-DIP#dip_switch-2_2" />
                    <DataPointReference id="2_3" path="Bixolon-DIP#dip_switch-2_3" />
                    <DataPointReference id="2_4" path="Bixolon-DIP#dip_switch-2_4" />
                    <DataPointReference id="2_5" path="Bixolon-DIP#dip_switch-2_5" />
                    <DataPointReference id="2_6" path="Bixolon-DIP#dip_switch-2_6" />
                    <DataPointReference id="2_7" path="Bixolon-DIP#dip_switch-2_7" />
                    <DataPointReference id="2_8" path="Bixolon-DIP#dip_switch-2_8" />
                </Object>
                <Object id="mqtt">
                    <DataPointReference id="host" path="MQTT-Settings#mqtt_server_ip_addr" />
                    <DataPointReference id="port" path="MQTT-Settings#mqtt_port_number" />
                    <DataPointReference id="username" path="MQTT-Settings#mqtt_user_name" />
                    <DataPointReference id="qos" path="Bixolon-MQTT-Settings#qos" />
                    <DataPointReference id="TenantId" path="MQTT-Settings#tenant_id" />
                    <DataPointReference id="useTLS" path="Bixolon-MQTT-Settings#UseTLS" />
                    <Object id="CaCrt">
                      <DataPointReference id="thumbprint" path="Bixolon-Certificate#CaCert_thumbprint" />
                      <DataPointReference id="issuer" path="Bixolon-Certificate#CaCert_issuer" />
                      <DataPointReference id="subject" path="Bixolon-Certificate#CaCert_subject" />
                      <Object id="validity">
                        <DataPointReference id="notbefore" path="Bixolon-Certificate#CaCert_valid_notbefore" />
                        <DataPointReference id="notafter" path="Bixolon-Certificate#CaCert_valid_notafter" />
                      </Object>
                    </Object>
                    <Object id="ClientCrt">
                      <DataPointReference id="thumbprint" path="Bixolon-Certificate#ClientCrt_thumbprint" />
                      <DataPointReference id="issuer" path="Bixolon-Certificate#ClientCrt_issuer" />
                      <DataPointReference id="subject" path="Bixolon-Certificate#ClientCrt_subject" />
                      <Object id="validity">
                        <DataPointReference id="notbefore" path="Bixolon-Certificate#ClientCrt_valid_notbefore" />
                        <DataPointReference id="notafter" path="Bixolon-Certificate#ClientCrt_valid_notafter" />
                      </Object>
                    </Object>
                </Object>
            </Object>
        </Message>
        <Message id="BxlNotifyStatus">
            <Object id="Resource">
                <Object id="status">
                    <DataPointReference id="printer_status" path="Bixolon-General#printer_status" />
                    <Object id="battery">
                        <DataPointReference id="support" path="BixolonDeviceOptions#battery-support" />
                        <DataPointReference id="battery_level" path="battery_levelModule#battery_level" />
                    </Object>
                </Object>
            </Object>
        </Message>

        <Message id="BxlSetMQTT">
            <Object id="Resource">
                <Segment id="host" type="string" />
                <Segment id="port" type="integer" />
                <Segment id="username" type="string" />
                <Segment id="password" type="string" />
                <Segment id="useTLS" type="boolean" />
                <Segment id="CaCrt" type="filestore" />
                <Segment id="ClientCrt" type="filestore" />
                <Segment id="ClientKey" type="filestore" />
                <Segment id="ClientKeyPassword" type="string" />
                <Segment id="qos" type="integer" />
                <Segment id="TenantId" type="string" />
            </Object>
        </Message>
        <Message id="BxlReboot" />
        <Message id="BxlFactoryReset" />
        <Message id="BxlMQTTSetting">
            <Segment id="Resource" type="string" />
        </Message>
        <Message id="BxlTestPrint">
            <Segment id="Resource" type="string" />
        </Message>
        <Message id="BxlInstallPackage">
            <Object id="Resource">
                <Segment id="File" type="file" />
            </Object>
        </Message>
        <Message id="BxlInstallPackageFromUrl">
            <Object id="Resource">
                <Segment id="Url" type="uri" />
                <Segment id="ContentType" type="string" />
                <Segment id="Hash" type="string" />
            </Object>
        </Message>
        <Message id="BxlInstallPackageFromFSUrl">
            <Object id="Resource">
                <Segment id="File" type="filestore" />
            </Object>
        </Message>
        <Message id="BxlDeviceSettings">
            <Segment id="Resource" type="string" />
        </Message>
        <Message id="BxlWLANCertFromUrl">
            <Object id="Resource">
                <Segment id="CaCrt" type="filestore" />
                <Segment id="ClientCrt" type="filestore" />
                <Segment id="ClientKey" type="filestore" />
                <Segment id="ClientKeyPassword" type="string" />
            </Object>
        </Message>
        <Message id="BxlRemoveMqttCert">
            <Object id="Resource">
                <Segment id="CaCrt" type="string" />
                <Segment id="ClientCrt" type="string" />
                <Segment id="ClientKey" type="string" />
                <Segment id="ClientKeyPassword" type="string" />
            </Object>
        </Message>
        <Message id="BxlFileCertFromUrl">
            <Object id="Resource">
                <Segment id="CaCrt" type="filestore" />
            </Object>
        </Message>
    </Messages>

    <Transactions>

        <Transaction id="BixolonAlert" semanticid="Bixolon-Alert#bixolonalert">
            <Blocks>
                <Block id="1">
                    <ReceiveMessage id="BxlAlert" />
                    <BlockAction>
                        <Terminate success="true" />
                    </BlockAction>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="Changebluetoothsetting" semanticid="Bixolon-Bluetooth#bixolonchangebluetoothsetting">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Enable Bluetooth" path="Resource/bluetooth/enable" />
                        <UserAssignment actionArgName="Device Name" path="Resource/bluetooth/device_name" />
                        <UserAssignment actionArgName="Bluetooth Mode" path="Resource/bluetooth/bluetooth_mode" />
                        <UserAssignment actionArgName="Encryption Enabled" path="Resource/bluetooth/encryption" />
                        <UserAssignment actionArgName="Connection Mode" path="Resource/bluetooth/connection_mode" />
                        <UserAssignment actionArgName="SSP Mode" path="Resource/bluetooth/ssp_mode" />
                        <UserAssignment actionArgName="Pincode" path="Resource/bluetooth/pincode" secret="true" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="BixolonChangeMediaType" semanticid="Bixolon-MediaSensor#bixolonchangemediatype">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Media Type" path="Resource/base/media_type" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="Changebasesettings" semanticid="Bixolon-Print-Settings-Actions#bixolonchangebasesettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Print Mode" path="Resource/base/print_mode" />
                        <UserAssignment actionArgName="Tearoff Position" path="Resource/base/tearoff_position" />
                        <UserAssignment actionArgName="Orientation" path="Resource/base/orientation" />
                        <UserAssignment actionArgName="Offset" path="Resource/base/offset" />
                        <UserAssignment actionArgName="Media Handling" path="Resource/base/media_handling" />
                        <UserAssignment actionArgName="Feed Option" path="Resource/base/feed_option" />
                        <UserAssignment actionArgName="Cutting" path="Resource/base/cutting" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="Changelabelsettings" semanticid="Bixolon-Print-Settings-Actions#change-label-settings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Label Width" path="Resource/base/paper_width" />
                        <UserAssignment actionArgName="Label Length" path="Resource/base/paper_length" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>

        <Transaction id="bixolonChangebuzzersettings" semanticid="Bixolon-Print-Settings-Actions#bixolonchangebuzzersettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Buzzer After Cut" path="Resource/base/buzzer/buzzer_after_cut" />
                        <UserAssignment actionArgName="Buzzer Count" path="Resource/base/buzzer/buzzer_count" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="bixolonChangepapersavingsettings" semanticid="Bixolon-Print-Settings-Actions#bixolongchangepapersavingsettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Paper Saving Level" path="Resource/base/paper_saving/paper_saving_level" />
                        <UserAssignment actionArgName="Paper Saving Correction Cut" path="Resource/base/paper_saving/paper_saving_correction_cut" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="change-bixolon-print-quality" semanticid="Bixolon-Print-Settings-Actions#bixolonChangePrintQuality">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Print Speed" path="Resource/base/speed" />
                        <UserAssignment actionArgName="Print Darkness" path="Resource/base/darkness" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="change-bixolon-customer-info" semanticid="BixolonCustomerInfo#change-customer-info">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Customer Name" path="Resource/base/CustomerName" />
                        <UserAssignment actionArgName="Pickup Address" path="Resource/base/PickupAddress" />
                        <UserAssignment actionArgName="Shipper Number" path="Resource/base/ShipperNumber" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="Changebasesettings-SRP" semanticid="Bixolon-Print-Settings-Actions-SRP#bixolonchangebasesettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Cutting" path="Resource/base/cutting" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="bixolonChangebuzzersettings-SRP" semanticid="Bixolon-Print-Settings-Actions-SRP#bixolonchangebuzzersettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Buzzer After Cut" path="Resource/base/buzzer/buzzer_after_cut" />
                        <UserAssignment actionArgName="Buzzer Count" path="Resource/base/buzzer/buzzer_count" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="bixolonChangepapersavingsettings-SRP" semanticid="Bixolon-Print-Settings-Actions-SRP#bixolongchangepapersavingsettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Paper Saving Level" path="Resource/base/paper_saving/paper_saving_level" />
                        <UserAssignment actionArgName="Paper Saving Correction Cut" path="Resource/base/paper_saving/paper_saving_correction_cut" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="change-bixolon-print-quality-SRP" semanticid="Bixolon-Print-Settings-Actions-SRP#bixolonChangePrintQuality">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Print Speed" path="Resource/base/speed_srp" />
                        <UserAssignment actionArgName="Print Darkness" path="Resource/base/darkness_srp" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="Bixolon-Change-LAN-IP-Settings" semanticid="Bixolon-Wired-LAN#bixolonChangeIPSettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Automatically Obtain Wired LAN IP Address" path="Resource/ethernet/dhcp" />
                        <UserAssignment actionArgName="IP Address" path="Resource/ethernet/ip" />
                        <UserAssignment actionArgName="Subnet Mask" path="Resource/ethernet/subnet" />
                        <UserAssignment actionArgName="Gateway" path="Resource/ethernet/gateway" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>

        <Transaction id="ChangeadvancedWiredLANsettings" semanticid="Bixolon-Wired-LAN#bixolonChangeAdvancedWiredLanSettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="DNS" path="Resource/ethernet/dns_server/dns" />
                        <UserAssignment actionArgName="Port Number" path="Resource/ethernet/port_number" />
                        <UserAssignment actionArgName="Inactivity Time" path="Resource/ethernet/inactivity_time" />
                        <UserAssignment actionArgName="User Id" path="Resource/ethernet/user_id" />
                        <UserAssignment actionArgName="User Password" path="Resource/ethernet/user_password" secret="true" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>

        <Transaction id="Getmqttsettings" semanticid="Bixolon-MQTT-Settings#getmqttsettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlGetMQTT" />
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlMQTTInfo" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="BixolonCheckin" semanticid="base-module#checkin">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlGetDevice" />
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceInfo" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="Observation" semanticid="Bixolon-Alert#bixolonobservation">
            <Blocks>
                <Block id="1">
                    <ReceiveMessage id="BxlNotifyStatus" />
                    <BlockAction>
                        <Terminate success="true" />
                    </BlockAction>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="Changepowersettings" semanticid="Bixolon-Power-Actions#bixolonchangepowersettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Power Save" path="Resource/power/save" />
                        <UserAssignment actionArgName="Power Save Time" path="Resource/power/save_time" />
                        <UserAssignment actionArgName="Power Off" path="Resource/power/off" />
                        <UserAssignment actionArgName="Power Off Time" path="Resource/power/off_time" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="Changepowersettings-SRP" semanticid="Bixolon-Power-Actions-SRP#bixolonchangepowersettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Power Save" path="Resource/power/save" />
                        <UserAssignment actionArgName="Power Save Time" path="Resource/power/save_time" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="Changeserialsettings" semanticid="Bixolon-Serial#bixolonchangeserialsettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Baudrate" path="Resource/serial/baudrate" />
                        <UserAssignment actionArgName="Databits" path="Resource/serial/databits" />
                        <UserAssignment actionArgName="Stopbits" path="Resource/serial/stopbits" />
                        <UserAssignment actionArgName="Parity" path="Resource/serial/parity" />
                        <UserAssignment actionArgName="Flowcontrol" path="Resource/serial/flowcontrol" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="Setmqttsettings" semanticid="Bixolon-MQTT-Settings#bixolonsetmqttsettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetMQTT">
                        <UserAssignment actionArgName="Use TLS" path="Resource/useTLS" />
                        <UserAssignment actionArgName="QOS" path="Resource/qos" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlMQTTSetting" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="Setmqttserver" semanticid="MQTT-MutualTLS#Change-MQTT-Settings" isMetaTransaction="true">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetMQTT">
                        <UserAssignment actionArgName="Server IP Address" path="Resource/host" />
                        <UserAssignment actionArgName="Port" path="Resource/port" />
                        <UserAssignment actionArgName="Username" path="Resource/username" />
                        <UserAssignment actionArgName="Password" path="Resource/password" secret="true" />
                        <UserAssignment actionArgName="Tenant ID" path="Resource/TenantId" />
                        <UserAssignment actionArgName="Root Certificate" path="Resource/CaCrt" />
                        <UserAssignment actionArgName="Client Certificate" path="Resource/ClientCrt" />
                        <UserAssignment actionArgName="Client Certificate Key" path="Resource/ClientKey" />
                        <UserAssignment actionArgName="Client Certificate Key Password" path="Resource/ClientKeyPassword" secret="true" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlMQTTSetting" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
            <AlertBlocks>
                <AlertBlock MessageId="BxlAlert" timeoutAlertId="CertificateTimeout" requiredInputPath="Resource/CaCrt">
                    <SuccessCase>
                        <Enumeration>
                            <Value>RootMqttCertificateDownloadSuccess</Value>
                        </Enumeration>
                    </SuccessCase>
                    <FailureCase>
                        <Enumeration>
                            <Value>RootMqttCertificateDownloadFail</Value>
                        </Enumeration>
                    </FailureCase>
                </AlertBlock>
                <AlertBlock MessageId="BxlAlert" timeoutAlertId="CertificateTimeout" requiredInputPath="Resource/ClientCrt">
                    <SuccessCase>
                        <Enumeration>
                            <Value>ClientMqttCertificateDownloadSuccess</Value>
                        </Enumeration>
                    </SuccessCase>
                    <FailureCase>
                        <Enumeration>
                            <Value>ClientMqttCertificateDownloadFail</Value>
                        </Enumeration>
                    </FailureCase>
                </AlertBlock>
            </AlertBlocks>
        </Transaction>

        <Transaction id="Changesnmpsettings" semanticid="Bixolon-SNMP#bixolonchangesnmpsettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Enable" path="Resource/snmp/enable" />
                        <UserAssignment actionArgName="Read Key" path="Resource/snmp/read_key" />
                        <UserAssignment actionArgName="Readwrite Key" path="Resource/snmp/readwrite_key" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="Changesnmptrapsettings" semanticid="Bixolon-SNMP#bixolonchangesnmptrapsettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="Trap Enable" path="Resource/snmp/trap/trap_enable" />
                        <UserAssignment actionArgName="Trap Ip" path="Resource/snmp/trap/trap_ip" />
                        <UserAssignment actionArgName="Trap Key" path="Resource/snmp/trap/trap_key" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="Changesnmpv3settings" semanticid="Bixolon-SNMP#bixolonchangesnmpv3settings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="V3 Enable" path="Resource/snmp/snmp_v3/v3_enable" />
                        <UserAssignment actionArgName="V3 Name" path="Resource/snmp/snmp_v3/v3_name" />
                        <UserAssignment actionArgName="V3 Authen Password" path="Resource/snmp/snmp_v3/v3_authen_password" secret="true" />
                        <UserAssignment actionArgName="V3 Privacy Password" path="Resource/snmp/snmp_v3/v3_privacy_password" secret="true" />
                        <UserAssignment actionArgName="V3 Authen Protocol" path="Resource/snmp/snmp_v3/v3_authen_protocol" />
                        <UserAssignment actionArgName="V3 Privacy Protocol" path="Resource/snmp/snmp_v3/v3_privacy_protocol" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="BixolonPrintTestPage" semanticid="GenericPrinterState#print-test-page">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlTestPrint" />
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="Success" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="BixPushupdate" semanticid="Bixolon-Update#bix-download-file" isMetaTransaction="true">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlInstallPackage">
                        <UserAssignment actionArgName="File" path="Resource/File" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="Success" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
            <AlertBlocks>
                <AlertBlock MessageId="BxlAlert" timeoutAlertId="CertificateTimeout">
                    <SuccessCase>
                        <Enumeration>
                            <Value>updatesuccess</Value>
                        </Enumeration>
                    </SuccessCase>
                    <FailureCase>
                        <Enumeration>
                            <Value>updatefailed</Value>
                        </Enumeration>
                    </FailureCase>
                </AlertBlock>
            </AlertBlocks>
        </Transaction>
        <Transaction id="Updateurl" semanticid="Bixolon-Update#bix-download-url" isMetaTransaction="true">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlInstallPackageFromUrl">
                        <UserAssignment actionArgName="URL" path="Resource/Url" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="Success" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
            <AlertBlocks>
                <AlertBlock MessageId="BxlAlert" timeoutAlertId="FirmwareDownloadTimeout">
                    <SuccessCase>
                        <Enumeration>
                            <Value>updatesuccess</Value>
                        </Enumeration>
                    </SuccessCase>
                    <FailureCase>
                        <Enumeration>
                            <Value>updatefailed</Value>
                        </Enumeration>
                    </FailureCase>
                </AlertBlock>
            </AlertBlocks>
        </Transaction>
        <Transaction id="UpdateFilestore" semanticid="Firmware-Download#download-file-filestore" isMetaTransaction="true">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlInstallPackageFromFSUrl">
                        <UserAssignment actionArgName="File" path="Resource/File" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="Success" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
            <AlertBlocks>
                <AlertBlock MessageId="BxlAlert" timeoutAlertId="FirmwareDownloadTimeout" timeout="3600">
                    <SuccessCase>
                        <Enumeration>
                            <Value>updatesuccess</Value>
                        </Enumeration>
                    </SuccessCase>
                    <FailureCase>
                        <Enumeration>
                            <Value>updatefailed</Value>
                        </Enumeration>
                    </FailureCase>
                </AlertBlock>
            </AlertBlocks>
        </Transaction>
        <Transaction id="InstallWifiCerts" semanticid="Bixolon-Wifi-Certificate#bixolonInstallWifiCertificates" isMetaTransaction="true">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlWLANCertFromUrl">
                        <UserAssignment actionArgName="CA Certificate File" path="Resource/CaCrt" />
                        <UserAssignment actionArgName="Client Certificate File" path="Resource/ClientCrt" />
                        <UserAssignment actionArgName="Client Key File" path="Resource/ClientKey" />
                        <UserAssignment actionArgName="Client Key Password" path="Resource/ClientKeyPassword" secret="true" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="Success" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
            <AlertBlocks>

                <AlertBlock MessageId="BxlAlert" timeoutAlertId="WifiCACertificateTimeout" requiredInputPath="Resource/CaCrt">
                    <SuccessCase>
                        <Enumeration>
                            <Value>RootWlanCertificateDownloadSuccess</Value>
                        </Enumeration>
                    </SuccessCase>
                    <FailureCase>
                        <Enumeration>
                            <Value>RootWlanCertificateDownloadFail</Value>
                        </Enumeration>
                    </FailureCase>
                </AlertBlock>

                <AlertBlock MessageId="BxlAlert" timeoutAlertId="WifiClientCertificateTimeout" requiredInputPath="Resource/ClientCrt">
                    <SuccessCase>
                        <Enumeration>
                            <Value>ClientWlanCertificateDownloadSuccess</Value>
                        </Enumeration>
                    </SuccessCase>
                    <FailureCase>
                        <Enumeration>
                            <Value>ClientWlanCertificateDownloadFail</Value>
                        </Enumeration>
                    </FailureCase>
                </AlertBlock>

            </AlertBlocks>
        </Transaction>
        <Transaction id="UploadFilestoreCert" semanticid="Bixolon-Filestore-Cert#bixolonUploadFilestoreCert" isMetaTransaction="true">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlFileCertFromUrl">
                        <UserAssignment actionArgName="File Store Root Certificate" path="Resource/CaCrt" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="Success" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
            <AlertBlocks>
                <AlertBlock MessageId="BxlAlert" timeoutAlertId="RootFileCertificateTimeout">
                    <SuccessCase>
                        <Enumeration>
                            <Value>RootFileCertificateDownloadSuccess</Value>
                        </Enumeration>
                    </SuccessCase>
                    <FailureCase>
                        <Enumeration>
                            <Value>RootFileCertificateDownloadFail</Value>
                        </Enumeration>
                    </FailureCase>
                </AlertBlock>
            </AlertBlocks>
        </Transaction>
        <Transaction id="Changewlansettings" semanticid="Bixolon-WLAN#bixolonchangewlansettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="DHCP" path="Resource/wlan/dhcp" />
                        <UserAssignment actionArgName="IP" path="Resource/wlan/ip" />
                        <UserAssignment actionArgName="Subnet" path="Resource/wlan/subnet" />
                        <UserAssignment actionArgName="Gateway" path="Resource/wlan/gateway" />
                        <UserAssignment actionArgName="Port Number" path="Resource/wlan/port_number" />
                        <UserAssignment actionArgName="Inactivity Time" path="Resource/wlan/inactivity_time" />
                        <UserAssignment actionArgName="Wireless LAN Mode" path="Resource/wlan/wlan_mode" />
                        <UserAssignment actionArgName="Wireless LAN Authentication Mode" path="Resource/wlan/wlan_authentication" />
                        <UserAssignment actionArgName="Wireless LAN Encryption" path="Resource/wlan/wlan_encryption" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="Changewifisettings" semanticid="Bixolon-WLAN#bixolonchangewifisettings">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlSetDevice">
                        <UserAssignment actionArgName="SSID" path="Resource/wlan/wlan_ssid" />
                        <UserAssignment actionArgName="Wep64 Key" path="Resource/wlan/wep64_key" />
                        <UserAssignment actionArgName="Wireless LAN Key" path="Resource/wlan/wlan_key" />
                        <UserAssignment actionArgName="EAP Mode" path="Resource/wlan/eap_mode" />
                        <UserAssignment actionArgName="EAP ID" path="Resource/wlan/eap_id" />
                        <UserAssignment actionArgName="EAP Password" path="Resource/wlan/eap_password" secret="true" />
                        <UserAssignment actionArgName="Rf Mode" path="Resource/wlan/rf_mode" />
                    </SendMessage>
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="BxlDeviceSettings" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="BixReboot" semanticid="GenericPrinterState#reboot">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlReboot" />
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="Success" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>
        <Transaction id="BixFactoryReset" semanticid="GenericPrinterState#factory-reset">
            <Blocks>
                <Block id="1">
                    <SendMessage id="BxlFactoryReset" />
                    <Switch>
                        <SwitchOnMessage>
                            <MessageCase>
                                <ReceiveMessage id="Success" />
                                <BlockAction>
                                    <Terminate success="true" />
                                </BlockAction>
                            </MessageCase>
                            <MessageCase>
                                <ReceiveMessage id="Error">
                                    <VariableDefinition id="Resource" path="Resource" />
                                </ReceiveMessage>
                                <BlockAction>
                                    <Terminate success="false">
                                        <Log variableId="Resource" />
                                    </Terminate>
                                </BlockAction>
                            </MessageCase>
                        </SwitchOnMessage>
                    </Switch>
                </Block>
            </Blocks>
        </Transaction>  


    </Transactions>

    <ProtocolDefinition id="E1138DF8-B607-4463-8D70-347F702FEE14" name="SOTI MQTT">
        <Protocol>
            <Transaction id="InitializeProtocol" hidden="true" />
            <Transaction id="Register" />
            <Transaction id="NewDevices" />
            <Transaction id="SearchNewDevices" instanceIdRequired="true" />
            <Transaction id="Unregister" instanceIdRequired="true" />
            <Transaction id="DeployCertificate" hidden="true" />
            <Transaction id="ActivateCertificate" hidden="true" />
            <Transaction id="CancelCertificateActivation" hidden="true" />
            <Transaction id="RemoteControlRequest" hidden="true" />
        </Protocol>

        <Devices>
            <Device id="mqtt-bixolon">
                <Transaction id="BixolonCheckin" />
            </Device>

            <Device id="mqtt-bixolon-printer">
                <ApiTypeId id="BIXOLON@@SLP-TX400@@1.0" />
                <ApiTypeId id="BIXOLON@@SLP-TX403@@1.0" />
                <ApiTypeId id="BIXOLON@@SLP-TX420@@1.0" />
                <ApiTypeId id="BIXOLON@@SLP-TX423@@1.0" />
                <ApiTypeId id="BIXOLON@@SLP-TX220@@1.0" />
                <ApiTypeId id="BIXOLON@@SLP-TX223@@1.0" />
                <ApiTypeId id="BIXOLON@@SLP-DL410@@1.0" />
                <ApiTypeId id="BIXOLON@@SLP-DL413@@1.0" />
                <ApiTypeId id="BIXOLON@@SLP-DX420@@1.0" />
                <ApiTypeId id="BIXOLON@@SLP-DX423@@1.0" />
                <ApiTypeId id="BIXOLON@@SLP-DX220@@1.0" />
                <ApiTypeId id="BIXOLON@@SLP-DX223@@1.0" />
                <ApiTypeId id="BIXOLON@@XD5-40t@@1.0" />
                <ApiTypeId id="BIXOLON@@XD5-43t@@1.0" />
                <ApiTypeId id="BIXOLON@@XD5-40d@@1.0" />
                <ApiTypeId id="BIXOLON@@XD5-43d@@1.0" />
                <ApiTypeId id="BIXOLON@@XL5-40CT@@1.0" />
                <ApiTypeId id="BIXOLON@@XL5-43CT@@1.0" />
                <ApiTypeId id="BIXOLON@@XT5-40@@1.0" />
                <ApiTypeId id="BIXOLON@@XT5-43@@1.0" />
                <ApiTypeId id="BIXOLON@@XT5-46@@1.0" />
                <Transaction id="DisconnectedNotification" />
                <Transaction id="BixolonAlert" />
                <Transaction id="Changebluetoothsetting" />
                <Transaction id="Changebasesettings" />
                <Transaction id="Changelabelsettings" />
                <Transaction id="Bixolon-Change-LAN-IP-Settings" />
                <Transaction id="BixFactoryReset" />
                <Transaction id="change-bixolon-print-quality" />
                <Transaction id="Getmqttsettings" />
                <Transaction id="BixolonCheckin" />
                <Transaction id="Observation" />
                <Transaction id="Changepowersettings" />
                <Transaction id="BixReboot" />
                <Transaction id="Changeserialsettings" />
                <Transaction id="Setmqttsettings" />
                <Transaction id="Setmqttserver" />
                <Transaction id="Changesnmpsettings" />
                <Transaction id="Changesnmptrapsettings" />
                <Transaction id="Changesnmpv3settings" />
                <Transaction id="BixolonPrintTestPage" />
                <Transaction id="BixPushupdate" />
                <Transaction id="Updateurl" />
                <Transaction id="ChangeadvancedWiredLANsettings" />
                <Transaction id="Changewlansettings" />
                <Transaction id="bixolonChangebuzzersettings" />
                <Transaction id="bixolonChangepapersavingsettings" />
                <Transaction id="BixolonChangeMediaType" />
                <Transaction id="UpdateFilestore" />
                <Transaction id="Changewifisettings" />
            </Device>

            <Device id="mqtt-bixolon-slp-printer-v2">
                <ApiTypeId id="BIXOLON@@SLP-TX400@@2.0" />
                <ApiTypeId id="BIXOLON@@SLP-TX403@@2.0" />
                <ApiTypeId id="BIXOLON@@SLP-TX420@@2.0" />
                <ApiTypeId id="BIXOLON@@SLP-TX423@@2.0" />
                <ApiTypeId id="BIXOLON@@SLP-TX220@@2.0" />
                <ApiTypeId id="BIXOLON@@SLP-TX223@@2.0" />
                <ApiTypeId id="BIXOLON@@SLP-DL410@@2.0" />
                <ApiTypeId id="BIXOLON@@SLP-DL413@@2.0" />
                <ApiTypeId id="BIXOLON@@SLP-DX420@@2.0" />
                <ApiTypeId id="BIXOLON@@SLP-DX423@@2.0" />
                <ApiTypeId id="BIXOLON@@SLP-DX220@@2.0" />
                <ApiTypeId id="BIXOLON@@SLP-DX223@@2.0" />
                <Transaction id="DisconnectedNotification" />
                <Transaction id="BixolonAlert" />
                <Transaction id="Changebluetoothsetting" />
                <Transaction id="Changebasesettings" />
                <Transaction id="Changelabelsettings" />
                <Transaction id="Bixolon-Change-LAN-IP-Settings" />
                <Transaction id="BixFactoryReset" />
                <Transaction id="change-bixolon-print-quality" />
                <Transaction id="Getmqttsettings" />
                <Transaction id="BixolonCheckin" />
                <Transaction id="Observation" />
                <Transaction id="Changepowersettings" />
                <Transaction id="BixReboot" />
                <Transaction id="Changeserialsettings" />
                <Transaction id="Setmqttsettings" />
                <Transaction id="Setmqttserver" />
                <Transaction id="Changesnmpsettings" />
                <Transaction id="Changesnmptrapsettings" />
                <Transaction id="Changesnmpv3settings" />
                <Transaction id="BixolonPrintTestPage" />
                <Transaction id="BixPushupdate" />
                <Transaction id="Updateurl" />
                <Transaction id="ChangeadvancedWiredLANsettings" />
                <Transaction id="Changewlansettings" />
                <Transaction id="bixolonChangebuzzersettings" />
                <Transaction id="bixolonChangepapersavingsettings" />
                <Transaction id="BixolonChangeMediaType" />
                <Transaction id="UpdateFilestore" />
                <Transaction id="Changewifisettings" />
                <Transaction id="InstallWifiCerts" />
            </Device>

            <Device id="mqtt-bixolon-xl-printer-v2">
                <ApiTypeId id="BIXOLON@@XL5-40CT@@2.0" />
                <ApiTypeId id="BIXOLON@@XL5-43CT@@2.0" />
                <Transaction id="DisconnectedNotification" />
                <Transaction id="BixolonAlert" />
                <Transaction id="Changebluetoothsetting" />
                <Transaction id="Changebasesettings" />
                <Transaction id="Changelabelsettings" />
                <Transaction id="Bixolon-Change-LAN-IP-Settings" />
                <Transaction id="BixFactoryReset" />
                <Transaction id="change-bixolon-print-quality" />
                <Transaction id="Getmqttsettings" />
                <Transaction id="BixolonCheckin" />
                <Transaction id="Observation" />
                <Transaction id="Changepowersettings" />
                <Transaction id="BixReboot" />
                <Transaction id="Changeserialsettings" />
                <Transaction id="Setmqttsettings" />
                <Transaction id="Setmqttserver" />
                <Transaction id="Changesnmpsettings" />
                <Transaction id="Changesnmptrapsettings" />
                <Transaction id="Changesnmpv3settings" />
                <Transaction id="BixolonPrintTestPage" />
                <Transaction id="BixPushupdate" />
                <Transaction id="Updateurl" />
                <Transaction id="ChangeadvancedWiredLANsettings" />
                <Transaction id="Changewlansettings" />
                <Transaction id="bixolonChangebuzzersettings" />
                <Transaction id="bixolonChangepapersavingsettings" />
                <Transaction id="BixolonChangeMediaType" />
                <Transaction id="UpdateFilestore" />
                <Transaction id="Changewifisettings" />
                <Transaction id="InstallWifiCerts" />
            </Device>

            <Device id="mqtt-bixolon-srp-printer">
                <ApiTypeId id="BIXOLON@@SRP-350plusV@@1.0" />
                <Transaction id="DisconnectedNotification" />
                <Transaction id="BixolonAlert" />
                <Transaction id="Changebluetoothsetting" />
                <Transaction id="Changebasesettings-SRP" />
                <Transaction id="Bixolon-Change-LAN-IP-Settings" />
                <Transaction id="BixFactoryReset" />
                <Transaction id="change-bixolon-print-quality-SRP" />
                <Transaction id="Getmqttsettings" />
                <Transaction id="BixolonCheckin" />
                <Transaction id="Observation" />
                <Transaction id="Changepowersettings-SRP" />
                <Transaction id="BixReboot" />
                <Transaction id="Changeserialsettings" />
                <Transaction id="Setmqttsettings" />
                <Transaction id="Setmqttserver" />
                <Transaction id="Changesnmpsettings" />
                <Transaction id="Changesnmptrapsettings" />
                <Transaction id="Changesnmpv3settings" />
                <Transaction id="BixolonPrintTestPage" />
                <Transaction id="BixPushupdate" />
                <Transaction id="Updateurl" />
                <Transaction id="ChangeadvancedWiredLANsettings" />
                <Transaction id="bixolonChangebuzzersettings-SRP" />
                <Transaction id="bixolonChangepapersavingsettings-SRP" />
                <Transaction id="UpdateFilestore" />
            </Device>

            <Device id="mqtt-bixolon-xt-printer-v2">
                <ApiTypeId id="BIXOLON@@XT3-40@@2.0" />
                <ApiTypeId id="BIXOLON@@XT5-40@@2.0" />
                <ApiTypeId id="BIXOLON@@XT5-43@@2.0" />
                <ApiTypeId id="BIXOLON@@XT5-46@@2.0" />
                <Transaction id="DisconnectedNotification" />
                <Transaction id="BixolonAlert" />
                <Transaction id="Changebluetoothsetting" />
                <Transaction id="Changebasesettings" />
                <Transaction id="Changelabelsettings" />
                <Transaction id="Bixolon-Change-LAN-IP-Settings" />
                <Transaction id="BixFactoryReset" />
                <Transaction id="change-bixolon-print-quality" />
                <Transaction id="Getmqttsettings" />
                <Transaction id="BixolonCheckin" />
                <Transaction id="Observation" />
                <Transaction id="Changepowersettings" />
                <Transaction id="BixReboot" />
                <Transaction id="Changeserialsettings" />
                <Transaction id="Setmqttsettings" />
                <Transaction id="Setmqttserver" />
                <Transaction id="Changesnmpsettings" />
                <Transaction id="Changesnmptrapsettings" />
                <Transaction id="Changesnmpv3settings" />
                <Transaction id="BixolonPrintTestPage" />
                <Transaction id="BixPushupdate" />
                <Transaction id="Updateurl" />
                <Transaction id="ChangeadvancedWiredLANsettings" />
                <Transaction id="Changewlansettings" />
                <Transaction id="bixolonChangebuzzersettings" />
                <Transaction id="bixolonChangepapersavingsettings" />
                <Transaction id="BixolonChangeMediaType" />
                <Transaction id="UpdateFilestore" />
                <Transaction id="Changewifisettings" />
                <Transaction id="InstallWifiCerts" />
            </Device>

            <Device id="mqtt-bixolon-mobile">
                <ApiTypeId id="BIXOLON@@XM7-20@@1.0" />
                <ApiTypeId id="BIXOLON@@XM7-40@@1.0" />
                <ApiTypeId id="BIXOLON@@SPP-L3000@@1.0" />
                <Transaction id="DisconnectedNotification" />
                <Transaction id="BixolonAlert" />
                <Transaction id="Changebluetoothsetting" />
                <Transaction id="Changebasesettings" />
                <Transaction id="Changelabelsettings" />
                <Transaction id="Bixolon-Change-LAN-IP-Settings" />
                <Transaction id="BixFactoryReset" />
                <Transaction id="change-bixolon-print-quality" />
                <Transaction id="Getmqttsettings" />
                <Transaction id="BixolonCheckin" />
                <Transaction id="Observation" />
                <Transaction id="Changepowersettings" />
                <Transaction id="BixReboot" />
                <Transaction id="Changeserialsettings" />
                <Transaction id="Setmqttsettings" />
                <Transaction id="Setmqttserver" />
                <Transaction id="Changesnmpsettings" />
                <Transaction id="Changesnmptrapsettings" />
                <Transaction id="Changesnmpv3settings" />
                <Transaction id="BixolonPrintTestPage" />
                <Transaction id="BixPushupdate" />
                <Transaction id="Updateurl" />
                <Transaction id="ChangeadvancedWiredLANsettings" />
                <Transaction id="Changewlansettings" />
                <Transaction id="bixolonChangebuzzersettings" />
                <Transaction id="bixolonChangepapersavingsettings" />
                <Transaction id="BixolonChangeMediaType" />
                <Transaction id="UpdateFilestore" />
                <Transaction id="Changewifisettings" />
                <Transaction id="InstallWifiCerts" />
            </Device>

            <Device id="mqtt-sato-bixolon-pv3-pv4">
                <ApiTypeId id="SATO@@PV3@@1.0" />
                <ApiTypeId id="SATO@@PV4@@1.0" />
                <Transaction id="DisconnectedNotification" />
                <Transaction id="BixolonAlert" />
                <Transaction id="Changebluetoothsetting" />
                <Transaction id="Changebasesettings" />
                <Transaction id="Changelabelsettings" />
                <Transaction id="BixFactoryReset" />
                <Transaction id="change-bixolon-print-quality" />
                <Transaction id="Getmqttsettings" />
                <Transaction id="BixolonCheckin" />
                <Transaction id="Observation" />
                <Transaction id="Changepowersettings" />
                <Transaction id="BixReboot" />
                <Transaction id="Changeserialsettings" />
                <Transaction id="Setmqttsettings" />
                <Transaction id="Setmqttserver" />
                <Transaction id="Changesnmpsettings" />
                <Transaction id="Changesnmptrapsettings" />
                <Transaction id="Changesnmpv3settings" />
                <Transaction id="BixolonPrintTestPage" />
                <Transaction id="BixPushupdate" />
                <Transaction id="Updateurl" />
                <Transaction id="Changewlansettings" />
                <Transaction id="bixolonChangebuzzersettings" />
                <Transaction id="bixolonChangepapersavingsettings" />
                <Transaction id="BixolonChangeMediaType" />
                <Transaction id="UpdateFilestore" />
                <Transaction id="Changewifisettings" />
                <Transaction id="InstallWifiCerts" />
            </Device>

            <Device id="mqtt-avery-bixolon-mobile">
                <ApiTypeId id="BIXOLON@@XD5-40t@@2.0" />
                <ApiTypeId id="BIXOLON@@XD5-43t@@2.0" />
                <ApiTypeId id="BIXOLON@@XD5-40d@@2.0" />
                <ApiTypeId id="BIXOLON@@XD5-43d@@2.0" />
                <Transaction id="DisconnectedNotification" />
                <Transaction id="BixolonAlert" />
                <Transaction id="Changebluetoothsetting" />
                <Transaction id="Changebasesettings" />
                <Transaction id="Changelabelsettings" />
                <Transaction id="Bixolon-Change-LAN-IP-Settings" />
                <Transaction id="BixFactoryReset" />
                <Transaction id="change-bixolon-print-quality" />
                <Transaction id="Getmqttsettings" />
                <Transaction id="BixolonCheckin" />
                <Transaction id="Observation" />
                <Transaction id="Changepowersettings" />
                <Transaction id="BixReboot" />
                <Transaction id="Changeserialsettings" />
                <Transaction id="Setmqttsettings" />
                <Transaction id="Setmqttserver" />
                <Transaction id="Changesnmpsettings" />
                <Transaction id="Changesnmptrapsettings" />
                <Transaction id="Changesnmpv3settings" />
                <Transaction id="BixolonPrintTestPage" />
                <Transaction id="BixPushupdate" />
                <Transaction id="Updateurl" />
                <Transaction id="ChangeadvancedWiredLANsettings" />
                <Transaction id="Changewlansettings" />
                <Transaction id="bixolonChangebuzzersettings" />
                <Transaction id="bixolonChangepapersavingsettings" />
                <Transaction id="BixolonChangeMediaType" />
                <Transaction id="UpdateFilestore" />
                <Transaction id="Changewifisettings" />
                <Transaction id="InstallWifiCerts" />
            </Device>

            <Device id="mqtt-avery-bixolon-9444D-mobile">
                <ApiTypeId id="BIXOLON@@9444D@@2.0" />
                <Transaction id="DisconnectedNotification" />
                <Transaction id="BixolonAlert" />
                <Transaction id="Changebluetoothsetting" />
                <Transaction id="Changebasesettings" />
                <Transaction id="Changelabelsettings" />
                <Transaction id="Bixolon-Change-LAN-IP-Settings" />
                <Transaction id="BixFactoryReset" />
                <Transaction id="change-bixolon-print-quality" />
                <Transaction id="Getmqttsettings" />
                <Transaction id="BixolonCheckin" />
                <Transaction id="Observation" />
                <Transaction id="Changepowersettings" />
                <Transaction id="BixReboot" />
                <Transaction id="Changeserialsettings" />
                <Transaction id="Setmqttsettings" />
                <Transaction id="Setmqttserver" />
                <Transaction id="Changesnmpsettings" />
                <Transaction id="Changesnmptrapsettings" />
                <Transaction id="Changesnmpv3settings" />
                <Transaction id="BixolonPrintTestPage" />
                <Transaction id="BixPushupdate" />
                <Transaction id="Updateurl" />
                <Transaction id="ChangeadvancedWiredLANsettings" />
                <Transaction id="Changewlansettings" />
                <Transaction id="bixolonChangebuzzersettings" />
                <Transaction id="bixolonChangepapersavingsettings" />
                <Transaction id="BixolonChangeMediaType" />
                <Transaction id="UpdateFilestore" />
                <Transaction id="Changewifisettings" />
                <Transaction id="InstallWifiCerts" />
            </Device>

            <Device id="mqtt-bixolon-xtr-printer">
                <ApiTypeId id="BIXOLON@@XT5-40 UPS@@4.0" />
                <ApiTypeId id="BIXOLON@@XT5-43 UPS@@4.0" />
                <Transaction id="UploadFilestoreCert" />
                <Transaction id="DisconnectedNotification" />
                <Transaction id="BixolonAlert" />
                <Transaction id="Changebluetoothsetting" />
                <Transaction id="Changebasesettings" />
                <Transaction id="Changelabelsettings" />
                <Transaction id="Bixolon-Change-LAN-IP-Settings" />
                <Transaction id="BixFactoryReset" />
                <Transaction id="change-bixolon-print-quality" />
                <Transaction id="Getmqttsettings" />
                <Transaction id="BixolonCheckin" />
                <Transaction id="Observation" />
                <Transaction id="Changepowersettings" />
                <Transaction id="BixReboot" />
                <Transaction id="Changeserialsettings" />
                <Transaction id="Setmqttsettings" />
                <Transaction id="Setmqttserver" />
                <Transaction id="Changesnmpsettings" />
                <Transaction id="Changesnmptrapsettings" />
                <Transaction id="Changesnmpv3settings" />
                <Transaction id="BixolonPrintTestPage" />
                <Transaction id="BixPushupdate" />
                <Transaction id="Updateurl" />
                <Transaction id="ChangeadvancedWiredLANsettings" />
                <Transaction id="Changewlansettings" />
                <Transaction id="bixolonChangebuzzersettings" />
                <Transaction id="bixolonChangepapersavingsettings" />
                <Transaction id="BixolonChangeMediaType" />
                <Transaction id="UpdateFilestore" />
                <Transaction id="Changewifisettings" />
                <Transaction id="InstallWifiCerts" />
                <Transaction id="change-bixolon-customer-info" />
            </Device>

            <Device id="mqtt-bixolon-xdr-printer">
                <ApiTypeId id="BIXOLON@@XD5-40t UPS@@4.0" />
                <ApiTypeId id="BIXOLON@@XD5-43t UPS@@4.0" />
                <Transaction id="UploadFilestoreCert" />
                <Transaction id="DisconnectedNotification" />
                <Transaction id="BixolonAlert" />
                <Transaction id="Changebluetoothsetting" />
                <Transaction id="Changebasesettings" />
                <Transaction id="Changelabelsettings" />
                <Transaction id="Bixolon-Change-LAN-IP-Settings" />
                <Transaction id="BixFactoryReset" />
                <Transaction id="change-bixolon-print-quality" />
                <Transaction id="Getmqttsettings" />
                <Transaction id="BixolonCheckin" />
                <Transaction id="Observation" />
                <Transaction id="Changepowersettings" />
                <Transaction id="BixReboot" />
                <Transaction id="Changeserialsettings" />
                <Transaction id="Setmqttsettings" />
                <Transaction id="Setmqttserver" />
                <Transaction id="Changesnmpsettings" />
                <Transaction id="Changesnmptrapsettings" />
                <Transaction id="Changesnmpv3settings" />
                <Transaction id="BixolonPrintTestPage" />
                <Transaction id="BixPushupdate" />
                <Transaction id="Updateurl" />
                <Transaction id="ChangeadvancedWiredLANsettings" />
                <Transaction id="Changewlansettings" />
                <Transaction id="bixolonChangebuzzersettings" />
                <Transaction id="bixolonChangepapersavingsettings" />
                <Transaction id="BixolonChangeMediaType" />
                <Transaction id="UpdateFilestore" />
                <Transaction id="Changewifisettings" />
                <Transaction id="InstallWifiCerts" />
                <Transaction id="change-bixolon-customer-info" />
            </Device>

            <Device id="mqtt-bixolon-xmr-printer">
                <ApiTypeId id="BIXOLON@@XM7-40R UPS@@4.0" />
                <Transaction id="UploadFilestoreCert" />
                <Transaction id="DisconnectedNotification" />
                <Transaction id="BixolonAlert" />
                <Transaction id="Changebluetoothsetting" />
                <Transaction id="Changebasesettings" />
                <Transaction id="Changelabelsettings" />
                <Transaction id="Bixolon-Change-LAN-IP-Settings" />
                <Transaction id="BixFactoryReset" />
                <Transaction id="change-bixolon-print-quality" />
                <Transaction id="Getmqttsettings" />
                <Transaction id="BixolonCheckin" />
                <Transaction id="Observation" />
                <Transaction id="Changepowersettings" />
                <Transaction id="BixReboot" />
                <Transaction id="Changeserialsettings" />
                <Transaction id="Setmqttsettings" />
                <Transaction id="Setmqttserver" />
                <Transaction id="Changesnmpsettings" />
                <Transaction id="Changesnmptrapsettings" />
                <Transaction id="Changesnmpv3settings" />
                <Transaction id="BixolonPrintTestPage" />
                <Transaction id="BixPushupdate" />
                <Transaction id="Updateurl" />
                <Transaction id="ChangeadvancedWiredLANsettings" />
                <Transaction id="Changewlansettings" />
                <Transaction id="bixolonChangebuzzersettings" />
                <Transaction id="bixolonChangepapersavingsettings" />
                <Transaction id="BixolonChangeMediaType" />
                <Transaction id="UpdateFilestore" />
                <Transaction id="Changewifisettings" />
                <Transaction id="InstallWifiCerts" />
                <Transaction id="change-bixolon-customer-info" />
            </Device>

        </Devices>
    </ProtocolDefinition>
</Domain>