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 CaptureObject
{
///
/// The captured amount in minor units.
///
/// The captured amount in minor units.
[Required]
[Range(0, 100000000)]
[JsonProperty("captured_amount")]
public long? CapturedAmount { get; set; }
///
/// Description of the capture shown to the customer. Maximum 255 characters.
///
/// Description of the capture shown to the customer. Maximum 255 characters.
[StringLength(255, MinimumLength = 0)]
[JsonProperty("description")]
public string Description { get; set; }
///
/// Internal reference to the capture. This will be included in the settlement files. Max length is 255 characters.
///
/// Internal reference to the capture. This will be included in the settlement files. Max length is 255 characters.
[StringLength(255, MinimumLength = 0)]
[JsonProperty("reference")]
public string Reference { get; set; }
///
/// Order lines for this capture. Maximum 1000 items.
///
/// Order lines for this capture. Maximum 1000 items.
[JsonProperty("order_lines")]
public List OrderLines { get; set; }
///
/// Shipping information for this capture. Maximum 500 items.
///
/// Shipping information for this capture. Maximum 500 items.
[JsonProperty("shipping_info")]
public List ShippingInfo { get; set; }
///
/// Delay before the order will be shipped. Use for improving the customer experience regarding payments. This field is currently not returned when reading the order. Minimum: 0. Please note: to be able to submit values larger than 0, this has to be enabled in your merchant account. Please contact Klarna for further information.
///
/// Delay before the order will be shipped. Use for improving the customer experience regarding payments. This field is currently not returned when reading the order. Minimum: 0. Please note: to be able to submit values larger than 0, this has to be enabled in your merchant account. Please contact Klarna for further information.
[JsonProperty("shipping_delay")]
public long? ShippingDelay { get; set; }
}
}