using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;
namespace gehGassi.Klarna.OrderManagement
{
public class ShippingInfo
{
///
/// Name of the shipping company (as specific as possible). Maximum 100 characters. Example: 'DHL US' and not only 'DHL'
///
/// Name of the shipping company (as specific as possible). Maximum 100 characters. Example: 'DHL US' and not only 'DHL'
[StringLength(100, MinimumLength = 0)]
[JsonProperty("shipping_company")]
public string ShippingCompany { get; set; }
///
/// Shipping method. Allowed values matches (PickUpStore|Home|BoxReg|BoxUnreg|PickUpPoint|Own|Postal|DHLPackstation|Digital|Undefined)
///
/// Shipping method. Allowed values matches (PickUpStore|Home|BoxReg|BoxUnreg|PickUpPoint|Own|Postal|DHLPackstation|Digital|Undefined)
[RegularExpression("/(PickUpStore|Home|BoxReg|BoxUnreg|PickUpPoint|Own|Postal|DHLPackstation|Digital|Undefined)/")]
[JsonProperty("shipping_method")]
public string ShippingMethod { get; set; }
///
/// Tracking number for the shipment. Maximum 100 characters.
///
/// Tracking number for the shipment. Maximum 100 characters.
[StringLength(100, MinimumLength = 0)]
[JsonProperty("tracking_number")]
public string TrackingNumber { get; set; }
///
/// URI where the customer can track their shipment. Maximum 1024 characters.
///
/// URI where the customer can track their shipment. Maximum 1024 characters.
[StringLength(1024, MinimumLength = 0)]
[JsonProperty("tracking_uri")]
public string TrackingUri { get; set; }
///
/// Name of the shipping company for the return shipment (as specific as possible). Maximum 100 characters. Example: 'DHL US' and not only 'DHL'
///
/// Name of the shipping company for the return shipment (as specific as possible). Maximum 100 characters. Example: 'DHL US' and not only 'DHL'
[StringLength(100, MinimumLength = 0)]
[JsonProperty("return_shipping_company")]
public string ReturnShippingCompany { get; set; }
///
/// Tracking number for the return shipment. Maximum 100 characters.
///
/// Tracking number for the return shipment. Maximum 100 characters.
[StringLength(100, MinimumLength = 0)]
[JsonProperty("return_tracking_number")]
public string ReturnTrackingNumber { get; set; }
///
/// URL where the customer can track the return shipment. Maximum 1024 characters.
///
/// URL where the customer can track the return shipment. Maximum 1024 characters.
[StringLength(1024, MinimumLength = 0)]
[JsonProperty("return_tracking_uri")]
public string ReturnTrackingUri { get; set; }
}
}