private void eft_CsdReserved3(object sender, EventArgs e)
        {
            if (eft.TxnType != "@")
            {
                return;
            }

            //cpk
            // The Pay @ Table extension is asking us for some data

            Log(new LogData(eft.DataField, $"RX (Received): {eft.DataField}"));

            // Unpack request
            var requ = new POSAPIMsg();

            requ.ParseFromString(eft.DataField);

            // Handle request
            switch (requ.Header.RequestMethod)
            {
            case RequestMethod.Settings:
                if (requ.Header.RequestType == RequestType.GET)
                {
                    HandleGetSettings(requ);
                }
                break;

            case RequestMethod.Tables:
                if (requ.Header.RequestType == RequestType.GET)
                {
                    HandleGetTables(requ);
                }
                break;

            case RequestMethod.TablesWithOrders:
                if (requ.Header.RequestType == RequestType.GET)
                {
                    HandleGetTablesWithOrders(requ);
                }
                break;

            case RequestMethod.TableOrders:
                if (requ.Header.RequestType == RequestType.GET)
                {
                    HandleGetTableOrders(requ);
                }
                break;


            case RequestMethod.Order:
                if (requ.Header.RequestType == RequestType.GET)
                {
                    HandleGetOrder(requ);
                }
                break;

            case RequestMethod.OrderReceipt:
                if (requ.Header.RequestType == RequestType.GET)
                {
                    HandleGetOrderReceipt(requ);
                }
                break;

            case RequestMethod.Tender:
                if (requ.Header.RequestType == RequestType.POST)
                {
                    HandleCreateTender(requ);
                }
                else if (requ.Header.RequestType == RequestType.PUT)
                {
                    HandleUpdateTender(requ);
                }
                break;

            //cpk to do yeah probably need do this prior Tender update

            case RequestMethod.EFTPOSCommand:
                if (requ.Header.RequestType == RequestType.POST)     //looks like there are 3 of them to handle
                {
                    HandleEFTPOSCommand(requ);
                }
                break;
            }
        }