using EVCB_OCPP.Packet20.DataTypes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace EVCB_OCPP.Packet20.Messages
{
    public class TransactionEventResponse
    {
        /// <summary>
        /// SHALL only be sent when charging has ended.
        ///  Final total cost of this transaction, including taxes.In the
        ///  currency configured with the Configuration Variable:
        ///Currency.When omitted, the transaction was NOT free.
        ///  To indicate a free transaction, the CSMS SHALL send
        ///0.00.
        /// </summary>
        public decimal? TotalCost { set; get; }

        /// <summary>
        /// Priority from a business point of view. Default
        /// priority is 0, The range is from -9 to 9. Higher values
        ///indicate a higher priority.The chargingPriority in
        ///TransactionEventResponse is temporarily, so it may not
        ///be set in the IdTokenInfoType afterwards.Also the
        ///chargingPriority in TransactionEventResponse has a
        ///higher priority than the one in IdTokenInfoType.
        /// </summary>
        public int? ChargingPriority { set; get; }

        /// <summary>
        /// This contains information about authorization
        ///status, expiry and group id.Is required when the
        /// transactionEventRequest contained an idToken
        /// </summary>
        public IdTokenInfoType IdTokenInfo { set; get; }

        /// <summary>
        /// This can contain updated personal message
        ///that can be shown to the EV Driver.This can be used to
        ///provide updated tariff information
        /// </summary>
        public MessageContentType UpdatedPersonalMessage { set; get; }
    }
}
