namespace POSGkSwaggerModel
{
    /// <summary>
    /// FuelingTransaction &lt;emph&gt;undocumented&lt;/emph&gt;
    /// </summary>
    public record comGkSoftwareGkrApiTxpoolDtoFuelingTransaction	{
        /// <summary>
        /// &lt;p&gt;Getter for inner key class.&lt;/p&gt;
        /// </summary>
        /// <value>&lt;p&gt;Getter for inner key class.&lt;/p&gt;</value>
        public ComGkSoftwareGkrApiTxpoolDtoFuelingTransactionkey key { get; init; }
        /// <summary>
        /// Reference to the Item
        /// </summary>
        /// <value>Reference to the Item</value>
        public string itemID { get; init; }
        /// <summary>
        /// A unique identifier for the FuelingPoint at a particular BusinessUnitGroup
        /// </summary>
        /// <value>A unique identifier for the FuelingPoint at a particular BusinessUnitGroup</value>
        public string fuelingPointID { get; init; }
        /// <summary>
        /// A unique identifier for the Nozzle
        /// </summary>
        /// <value>A unique identifier for the Nozzle</value>
        public string nozzleID { get; init; }
        /// <summary>
        /// A two charcter code denoting the type of FuelingTransactionEvent being recorded.Possible values includePostPay: Where the FuelingTransaction is yet to be sold by a FuelSalesLineItem in a RetailTransactionPrePayCompletion: Where money has been collected for the FuelingTransaction in a previous FuelSalesLineItem and there is no refund required.PrePayRefund: Where too much money was collected for the FuelingTransaction in a previous FuelSalesLineItem, and a further FuelSalesLineItem in a RetailTransaction is required to deal with the refund.
        /// </summary>
        /// <value>A two charcter code denoting the type of FuelingTransactionEvent being recorded.Possible values includePostPay: Where the FuelingTransaction is yet to be sold by a FuelSalesLineItem in a RetailTransactionPrePayCompletion: Where money has been collected for the FuelingTransaction in a previous FuelSalesLineItem and there is no refund required.PrePayRefund: Where too much money was collected for the FuelingTransaction in a previous FuelSalesLineItem, and a further FuelSalesLineItem in a RetailTransaction is required to deal with the refund.</value>
        public string typeCode { get; init; }
        /// <summary>
        /// The date &amp;amp; time of the completion of the fueling transaction; Date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39; (no timezone)
        /// </summary>
        /// <value>The date &amp;amp; time of the completion of the fueling transaction; Date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSS&#39; (no timezone)</value>
        public string timeStamp { get; init; }
        /// <summary>
        /// The date &amp;amp; time of the completion of the fueling transaction (UTC0); UTC0 date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSSZ&#39; (with timezone)
        /// </summary>
        /// <value>The date &amp;amp; time of the completion of the fueling transaction (UTC0); UTC0 date format &#39;yyyy-MM-dd&#39;T&#39;HH:mm:ss.SSSZ&#39; (with timezone)</value>
        public DateTime? timeStampUTC0 { get; init; }
        /// <summary>
        /// The volume of fuel delivered in the fueling transaction.
        /// </summary>
        /// <value>The volume of fuel delivered in the fueling transaction.</value>
        public double? volume { get; init; }
        /// <summary>
        /// The price per volume unit charged by the FUELING POINT for the fuel delivered in the FUELING TRANSACTION
        /// </summary>
        /// <value>The price per volume unit charged by the FUELING POINT for the fuel delivered in the FUELING TRANSACTION</value>
        public double? unitPrice { get; init; }
        /// <summary>
        /// The number of milli-seconds elapsed between CUSTOMER lifting NOZZLE and FUELING TRANSACTION commencing&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(18, 0). Be aware of this and round value!
        /// </summary>
        /// <value>The number of milli-seconds elapsed between CUSTOMER lifting NOZZLE and FUELING TRANSACTION commencing&lt;br&gt;Fixed decimal precision expected, definition of used precision: double(18, 0). Be aware of this and round value!</value>
        public double? authorizationElapsedTime { get; init; }
        /// <summary>
        /// The number of seconds between FUELING TRANSACTION commencing and completing. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(18, 0). Be aware of this and round value!
        /// </summary>
        /// <value>The number of seconds between FUELING TRANSACTION commencing and completing. &lt;br&gt;Fixed decimal precision expected, definition of used precision: double(18, 0). Be aware of this and round value!</value>
        public double? deliveryElapsedTime { get; init; }
        /// <summary>
        /// The number of seconds elapsed between FUELING TRANSACTION completing and being sold at a point of sale.
        /// </summary>
        /// <value>The number of seconds elapsed between FUELING TRANSACTION completing and being sold at a point of sale.</value>
        public double? saleElapsedTime { get; init; }
        /// <summary>
        /// A unique system assigned identifier for the retailer&#39;s itemID (values between 01-99)
        /// </summary>
        /// <value>A unique system assigned identifier for the retailer&#39;s itemID (values between 01-99)</value>
        public string fuelGradeID { get; init; }
        /// <summary>
        /// The code used to specify the units in which a value is being expressed, or manner in which a measurement has been taken. This code relates to the UCC data element 355.
        /// </summary>
        /// <value>The code used to specify the units in which a value is being expressed, or manner in which a measurement has been taken. This code relates to the UCC data element 355.</value>
        public string unitOfMeasureCode { get; init; }
        /// <summary>
        /// Restricts the possibility of using the fleet card for paying to dedicated merchandise only. The code maintained for the merchandise and the code on the fleet card which is intended to be used for paying the transaction have to match in order that this merchandise can be paid by using the fleet card. Whether/for which line items of the transacttion the matching is given is determined by the external payment provider.
        /// </summary>
        /// <value>Restricts the possibility of using the fleet card for paying to dedicated merchandise only. The code maintained for the merchandise and the code on the fleet card which is intended to be used for paying the transaction have to match in order that this merchandise can be paid by using the fleet card. Whether/for which line items of the transacttion the matching is given is determined by the external payment provider.</value>
        public string fleetCardPermissionTypeCode { get; init; }
        /// <summary>
        /// Records the clearing of a FUELING TRANSACTION without accepting payment because the fueling transaction was for testing or calibrating the FUELING POINT.
        /// </summary>
        /// <value>Records the clearing of a FUELING TRANSACTION without accepting payment because the fueling transaction was for testing or calibrating the FUELING POINT.</value>
        public string testDeliveryTypeCode { get; init; }
        /// <summary>
        /// Records the clearing of a FUELING TRANSACTION without accepting payment because the customer simply drove off wthout paying.
        /// </summary>
        /// <value>Records the clearing of a FUELING TRANSACTION without accepting payment because the customer simply drove off wthout paying.</value>
        public string driveOffTypeCode { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom05 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom03 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom02 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom04 { get; init; }
        /// <summary>
        /// Customizable information
        /// </summary>
        /// <value>Customizable information</value>
        public string xxcustom01 { get; init; }
	}
}
