/// <summary>
        /// Return a text representation of the given authorisation result.
        /// </summary>
        /// <param name="AvailabilityStatus">An authorisation result.</param>
        public static String AsText(this MeterTypeValues AvailabilityStatus)
        {
            switch (AvailabilityStatus)
            {
            case MeterTypeValues.CounterMIDNotCommunicating:
                return("Counter MID not communicating");

            case MeterTypeValues.CounterMIDCommunicating:
                return("Counter MID communicating");

            case MeterTypeValues.CounterNoMID:
                return("Counter no MID");

            case MeterTypeValues.NoMeter:
                return("No meter");

            default:
                return("Not specified");
            }
        }
        /// <summary>
        /// Return a numeric representation of the given authorisation result.
        /// </summary>
        /// <param name="AvailabilityStatus">An authorisation result.</param>
        public static Byte AsNumber(this MeterTypeValues AvailabilityStatus)
        {
            switch (AvailabilityStatus)
            {
            case MeterTypeValues.CounterMIDNotCommunicating:
                return(1);

            case MeterTypeValues.CounterMIDCommunicating:
                return(2);

            case MeterTypeValues.CounterNoMID:
                return(3);

            case MeterTypeValues.NoMeter:
                return(4);

            default:
                return(0);
            }
        }