using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using gehGassi.Klarna.Checkout;
using Newtonsoft.Json;
namespace gehGassi.Klarna.OrderManagement
{
public class Capture
{
///
/// The capture id. Generated when the capture is created.
///
/// The capture id. Generated when the capture is created.
[JsonProperty("capture_id")]
public string CaptureId { get; set; }
///
/// Internal reference to the capture which will be included in the settlement files. Max length is 255 characters.
///
/// Internal reference to the capture which will be included in the settlement files. Max length is 255 characters.
[StringLength(255, MinimumLength = 0)]
[JsonProperty("reference")]
public string Reference { get; set; }
///
/// Customer friendly reference id, used as a reference when communicating with the customer.
///
/// Customer friendly reference id, used as a reference when communicating with the customer.
[JsonProperty("klarna_reference")]
public string KlarnaReference { get; set; }
///
/// The captured amount in minor units.
///
/// The captured amount in minor units.
[JsonProperty("captured_amount")]
public long? CapturedAmount { get; set; }
///
/// The time of the capture. Specified in ISO 8601.
///
/// The time of the capture. Specified in ISO 8601.
[JsonProperty("captured_at")]
public DateTime? CapturedAt { get; set; }
///
/// Description of the capture shown to the customer.
///
/// Description of the capture shown to the customer.
[JsonProperty("description")]
public string Description { get; set; }
///
/// List of order lines for the capture shown to the customer.
///
/// List of order lines for the capture shown to the customer.
[JsonProperty("order_lines")]
public List OrderLines { get; set; }
///
/// Refunded amount for this capture in minor units.
///
/// Refunded amount for this capture in minor units.
[JsonProperty("refunded_amount")]
public long? RefundedAmount { get; set; }
///
/// Billing address for the capture.
///
/// Billing address for the capture.
[JsonProperty("billing_address")]
public Address BillingAddress { get; set; }
///
/// Shipping address for the capture
///
/// Shipping address for the capture
[JsonProperty("shipping_address")]
public Address ShippingAddress { get; set; }
///
/// Shipping information for this capture.
///
/// Shipping information for this capture.
[JsonProperty("shipping_info")]
public List ShippingInfo { get; set; }
}
}