using Microsoft.AspNetCore.Http; using Newtonsoft.Json; namespace Nop.Plugin.Misc.Zettle.Domain.Api.Inventory; /// /// Represents request to create inventory balance changes /// public class CreateTrackingRequest : InventoryApiRequest { #region Properties /// /// Gets or sets the the list of inventory balance changes /// [JsonProperty(PropertyName = "productChanges")] public List ProductChanges { get; set; } /// /// Gets or sets the unique identifier as UUID version 1 /// [JsonProperty(PropertyName = "returnBalanceForLocationUuid")] public string ReturnLocationUuid { get; set; } /// /// Gets or sets the unique identifier as UUID version 1 /// [JsonProperty(PropertyName = "externalUuid")] public string ExternalUuid { get; set; } /// /// Gets the request path /// public override string Path => "organizations/self/v2/inventory/bulk"; /// /// Gets the request method /// public override string Method => HttpMethods.Post; #endregion #region Nested classes /// /// Represents product balance change details /// public class ProductBalanceChange { /// /// Gets or sets the unique identifier as UUID version 1 /// [JsonProperty(PropertyName = "productUuid")] public string ProductUuid { get; set; } /// /// Gets or sets the status of the change /// [JsonProperty(PropertyName = "trackingStatusChange")] public string TrackingStatusChange { get; set; } /// /// Gets or sets the list of balance changes /// [JsonProperty(PropertyName = "variantChanges")] public List VariantChanges { get; set; } } /// /// Represents product variant balance change details /// public class VariantBalanceChange { /// /// Gets or sets the unique identifier as UUID version 1 /// [JsonProperty(PropertyName = "fromLocationUuid")] public string FromLocationUuid { get; set; } /// /// Gets or sets the unique identifier as UUID version 1 /// [JsonProperty(PropertyName = "toLocationUuid")] public string ToLocationUuid { get; set; } /// /// Gets or sets the unique identifier as UUID version 1 /// [JsonProperty(PropertyName = "variantUuid")] public string VariantUuid { get; set; } /// /// Gets or sets the inventory balance change value /// [JsonProperty(PropertyName = "change")] public int Change { get; set; } } #endregion }