feat(wxapi): 新增视频号小店获取生效中的品牌资质列表接口

This commit is contained in:
MoondanceZ
2023-11-21 09:49:05 +00:00
committed by RHQYZ
parent f76208a7d7
commit e9e039a086
26 changed files with 747 additions and 21 deletions

View File

@@ -0,0 +1,23 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/brand/valid/list/get 接口的请求。</para>
/// </summary>
public class ChannelsECBrandValidListGetRequest : WechatApiRequest, IInferable<ChannelsECBrandValidListGetRequest, ChannelsECBrandListGetResponse>
{
/// <summary>
/// 获取或设置分页每页页数。
/// <para>默认值10</para>
/// </summary>
[Newtonsoft.Json.JsonProperty("page_size")]
[System.Text.Json.Serialization.JsonPropertyName("page_size")]
public int Limit { get; set; } = 10;
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_key")]
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
public string? Cursor { get; set; }
}
}

View File

@@ -0,0 +1,36 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/brand/valid/list/get 接口的响应。</para>
/// </summary>
public class ChannelsECBrandValidListGetResponse : WechatApiResponse
{
public static class Types
{
public class Brand : ChannelsECBrandListGetResponse.Types.Brand
{
}
}
/// <summary>
/// 获取或设置品牌列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("brands")]
[System.Text.Json.Serialization.JsonPropertyName("brands")]
public Types.Brand[] BrandList { get; set; } = default!;
/// <summary>
/// 获取或设置品牌总数量。
/// </summary>
[Newtonsoft.Json.JsonProperty("total_num")]
[System.Text.Json.Serialization.JsonPropertyName("total_num")]
public int TotalCount { get; set; }
/// <summary>
/// 获取或设置翻页标记。
/// </summary>
[Newtonsoft.Json.JsonProperty("next_key")]
[System.Text.Json.Serialization.JsonPropertyName("next_key")]
public string? NextCursor { get; set; }
}
}

View File

@@ -155,9 +155,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
/// 获取或设置是否为默认运费。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_default")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("is_default")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
public bool IsDefault { get; set; }
/// <summary>
@@ -267,9 +265,7 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
/// 获取或设置是否为默认模版。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_default")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("is_default")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))]
public bool? IsDefault { get; set; }
/// <summary>

View File

@@ -152,9 +152,7 @@
/// 获取或设置是否为默认运费。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_default")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("is_default")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
public bool IsDefault { get; set; }
/// <summary>
@@ -272,9 +270,7 @@
/// 获取或设置是否为默认模版。
/// </summary>
[Newtonsoft.Json.JsonProperty("is_default")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("is_default")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
public bool IsDefault { get; set; }
/// <summary>

View File

@@ -113,6 +113,51 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[Newtonsoft.Json.JsonProperty("sku_attrs")]
[System.Text.Json.Serialization.JsonPropertyName("sku_attrs")]
public IList<Attribute>? AttributeList { get; set; }
/// <summary>
/// 获取或设置商品配送信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("sku_deliver_info")]
[System.Text.Json.Serialization.JsonPropertyName("sku_deliver_info")]
public SKUDeliver? SKUDeliver { get; set; }
}
public class SKUDeliver
{
/// <summary>
/// 获取或设置 SKU 库存情况。
/// </summary>
[Newtonsoft.Json.JsonProperty("stock_type")]
[System.Text.Json.Serialization.JsonPropertyName("stock_type")]
public int StockType { get; set; }
/// <summary>
/// 获取或设置 SKU 发货节点。
/// </summary>
[Newtonsoft.Json.JsonProperty("full_payment_presale_delivery_type")]
[System.Text.Json.Serialization.JsonPropertyName("full_payment_presale_delivery_type")]
public int FullPaymentPresaleDeliveryType { get; set; }
/// <summary>
/// 获取或设置 SKU 预售周期开始时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("presale_begin_time")]
[System.Text.Json.Serialization.JsonPropertyName("presale_begin_time")]
public long PresaleBeginTimestamp { get; set; }
/// <summary>
/// 获取或设置 SKU 预售周期结束时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("presale_end_time")]
[System.Text.Json.Serialization.JsonPropertyName("presale_end_time")]
public long PresaleEndTimestamp { get; set; }
/// <summary>
/// 获取或设置 SKU 发货时效。
/// </summary>
[Newtonsoft.Json.JsonProperty("full_payment_presale_delivery_time")]
[System.Text.Json.Serialization.JsonPropertyName("full_payment_presale_delivery_time")]
public int FullPaymentPresaleDeliveryTime { get; set; }
}
public class Limitation
@@ -131,6 +176,44 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonPropertyName("limited_buy_num")]
public int? LimitedBuyCount { get; set; }
}
public class ExtraService
{
/// <summary>
/// 获取或设置是否支持七天无理由退货。
/// </summary>
[Newtonsoft.Json.JsonProperty("seven_day_return")]
[System.Text.Json.Serialization.JsonPropertyName("seven_day_return")]
public int SevenDayReturn { get; set; }
/// <summary>
/// 获取或设置先用后付类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_after_use")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("pay_after_use")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
public bool IsPayAfterUseSupported { get; set; }
/// <summary>
/// 获取或设置是否支持运费险。
/// </summary>
[Newtonsoft.Json.JsonProperty("freight_insurance")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("freight_insurance")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
public bool IsFreightInsuranceSupported { get; set; }
}
public class Aftersale
{
/// <summary>
/// 获取或设置地址 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("after_sale_address_id")]
[System.Text.Json.Serialization.JsonPropertyName("after_sale_address_id")]
public long? AftersaleAddressId { get; set; }
}
}
/// <summary>
@@ -182,6 +265,28 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonPropertyName("attrs")]
public IList<Types.Attribute>? AttributeList { get; set; }
/// <summary>
/// 获取或设置商品编码。
/// </summary>
[Newtonsoft.Json.JsonProperty("spu_code")]
[System.Text.Json.Serialization.JsonPropertyName("spu_code")]
public string? ApuCode { get; set; }
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long? BrandId { get; set; }
/// <summary>
/// 获取或设置特殊资质图片媒体文件标识 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("qualifications")]
[System.Text.Json.Serialization.JsonPropertyName("qualifications")]
public IList<string>? QualificationPictureMediaIdList { get; set; }
/// <summary>
/// 获取或设置发货方式。
/// </summary>
@@ -216,5 +321,28 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[Newtonsoft.Json.JsonProperty("limited_info")]
[System.Text.Json.Serialization.JsonPropertyName("limited_info")]
public Types.Limitation? Limitation { get; set; }
/// <summary>
/// 获取或设置额外的服务信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("extra_service")]
[System.Text.Json.Serialization.JsonPropertyName("extra_service")]
public Types.ExtraService? ExtraService { get; set; }
/// <summary>
/// 获取或设置更新后是否立即上架。
/// </summary>
[Newtonsoft.Json.JsonProperty("listing")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalNullableBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("listing")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))]
public bool? RequireListing { get; set; }
/// <summary>
/// 获取或设置售后地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("after_sale_info")]
[System.Text.Json.Serialization.JsonPropertyName("after_sale_info")]
public Types.Aftersale? Aftersale { get; set; }
}
}

View File

@@ -132,6 +132,51 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[Newtonsoft.Json.JsonProperty("status")]
[System.Text.Json.Serialization.JsonPropertyName("status")]
public int Status { get; set; }
/// <summary>
/// 获取或设置商品配送信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("sku_deliver_info")]
[System.Text.Json.Serialization.JsonPropertyName("sku_deliver_info")]
public SKUDeliver? SKUDeliver { get; set; }
}
public class SKUDeliver
{
/// <summary>
/// 获取或设置 SKU 库存情况。
/// </summary>
[Newtonsoft.Json.JsonProperty("stock_type")]
[System.Text.Json.Serialization.JsonPropertyName("stock_type")]
public int StockType { get; set; }
/// <summary>
/// 获取或设置 SKU 发货节点。
/// </summary>
[Newtonsoft.Json.JsonProperty("full_payment_presale_delivery_type")]
[System.Text.Json.Serialization.JsonPropertyName("full_payment_presale_delivery_type")]
public int FullPaymentPresaleDeliveryType { get; set; }
/// <summary>
/// 获取或设置 SKU 预售周期开始时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("presale_begin_time")]
[System.Text.Json.Serialization.JsonPropertyName("presale_begin_time")]
public long PresaleBeginTimestamp { get; set; }
/// <summary>
/// 获取或设置 SKU 预售周期结束时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("presale_end_time")]
[System.Text.Json.Serialization.JsonPropertyName("presale_end_time")]
public long PresaleEndTimestamp { get; set; }
/// <summary>
/// 获取或设置 SKU 发货时效。
/// </summary>
[Newtonsoft.Json.JsonProperty("full_payment_presale_delivery_time")]
[System.Text.Json.Serialization.JsonPropertyName("full_payment_presale_delivery_time")]
public int FullPaymentPresaleDeliveryTime { get; set; }
}
public class Limitation
@@ -150,6 +195,44 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonPropertyName("limited_buy_num")]
public int? LimitedBuyCount { get; set; }
}
public class ExtraService
{
/// <summary>
/// 获取或设置是否支持七天无理由退货。
/// </summary>
[Newtonsoft.Json.JsonProperty("seven_day_return")]
[System.Text.Json.Serialization.JsonPropertyName("seven_day_return")]
public int SevenDayReturn { get; set; }
/// <summary>
/// 获取或设置先用后付类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("pay_after_use")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("pay_after_use")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
public bool IsPayAfterUseSupported { get; set; }
/// <summary>
/// 获取或设置是否支持运费险。
/// </summary>
[Newtonsoft.Json.JsonProperty("freight_insurance")]
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.NumericalBooleanConverter))]
[System.Text.Json.Serialization.JsonPropertyName("freight_insurance")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalBooleanConverter))]
public bool IsFreightInsuranceSupported { get; set; }
}
public class Aftersale
{
/// <summary>
/// 获取或设置地址 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("after_sale_address_id")]
[System.Text.Json.Serialization.JsonPropertyName("after_sale_address_id")]
public long? AftersaleAddressId { get; set; }
}
}
/// <summary>
@@ -209,6 +292,21 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonPropertyName("attrs")]
public Types.Attribute[]? AttributeList { get; set; }
/// <summary>
/// 获取或设置商品编码。
/// </summary>
[Newtonsoft.Json.JsonProperty("spu_code")]
[System.Text.Json.Serialization.JsonPropertyName("spu_code")]
public string? ApuCode { get; set; }
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long? BrandId { get; set; }
/// <summary>
/// 获取或设置发货方式。
/// </summary>
@@ -264,6 +362,34 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[Newtonsoft.Json.JsonProperty("limited_info")]
[System.Text.Json.Serialization.JsonPropertyName("limited_info")]
public Types.Limitation? Limitation { get; set; }
/// <summary>
/// 获取或设置额外的服务信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("extra_service")]
[System.Text.Json.Serialization.JsonPropertyName("extra_service")]
public Types.ExtraService? ExtraService { get; set; }
/// <summary>
/// 获取或设置商品类型。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_type")]
[System.Text.Json.Serialization.JsonPropertyName("product_type")]
public int? ProductType { get; set; }
/// <summary>
/// 获取或设置商品草稿最近一次修改时间。
/// </summary>
[Newtonsoft.Json.JsonProperty("edit_time")]
[System.Text.Json.Serialization.JsonPropertyName("edit_time")]
public long EditTimestamp { get; set; }
/// <summary>
/// 获取或设置售后地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("after_sale_info")]
[System.Text.Json.Serialization.JsonPropertyName("after_sale_info")]
public Types.Aftersale? Aftersale { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/product/h5url/get 接口的请求。</para>
/// </summary>
public class ChannelsECProductH5UrlGetRequest : WechatApiRequest, IInferable<ChannelsECProductH5UrlGetRequest, ChannelsECProductH5UrlGetResponse>
{
/// <summary>
/// 获取或设置商品 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_id")]
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
public long ProductId { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/product/h5url/get 接口的响应。</para>
/// </summary>
public class ChannelsECProductH5UrlGetResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置商品 H5 短链。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_h5url")]
[System.Text.Json.Serialization.JsonPropertyName("product_h5url")]
public string ProductH5Url { get; set; } = default!;
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/product/qrcode/get 接口的请求。</para>
/// </summary>
public class ChannelsECProductQrcodeGetRequest : WechatApiRequest, IInferable<ChannelsECProductQrcodeGetRequest, ChannelsECProductQrcodeGetResponse>
{
/// <summary>
/// 获取或设置商品 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_id")]
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
public long ProductId { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/product/qrcode/get 接口的响应。</para>
/// </summary>
public class ChannelsECProductQrcodeGetResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置商品二维码链接。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_qrcode")]
[System.Text.Json.Serialization.JsonPropertyName("product_qrcode")]
public string ProductQrcode { get; set; } = default!;
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/product/taglink/get 接口的请求。</para>
/// </summary>
public class ChannelsECProductTagLinkGetRequest : WechatApiRequest, IInferable<ChannelsECProductTagLinkGetRequest, ChannelsECProductTagLinkGetResponse>
{
/// <summary>
/// 获取或设置商品 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_id")]
[System.Text.Json.Serialization.JsonPropertyName("product_id")]
public long ProductId { get; set; }
}
}

View File

@@ -0,0 +1,15 @@
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
/// <summary>
/// <para>表示 [POST] /channels/ec/product/taglink/get 接口的响应。</para>
/// </summary>
public class ChannelsECProductTagLinkGetResponse : WechatApiResponse
{
/// <summary>
/// 获取或设置商品微信口令。
/// </summary>
[Newtonsoft.Json.JsonProperty("product_taglink")]
[System.Text.Json.Serialization.JsonPropertyName("product_taglink")]
public string ProductTagLink { get; set; } = default!;
}
}

View File

@@ -1,4 +1,4 @@
using System.Collections.Generic;
using System.Collections.Generic;
namespace SKIT.FlurlHttpClient.Wechat.Api.Models
{
@@ -75,11 +75,30 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[Newtonsoft.Json.JsonProperty("sku_attrs")]
[System.Text.Json.Serialization.JsonPropertyName("sku_attrs")]
public IList<Attribute>? AttributeList { get; set; }
/// <summary>
/// 获取或设置商品配送信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("sku_deliver_info")]
[System.Text.Json.Serialization.JsonPropertyName("sku_deliver_info")]
public SKUDeliver? SKUDeliver { get; set; }
}
public class SKUDeliver : ChannelsECProductAddRequest.Types.SKUDeliver
{
}
public class Limitation : ChannelsECProductAddRequest.Types.Limitation
{
}
public class ExtraService : ChannelsECProductAddRequest.Types.ExtraService
{
}
public class Aftersale : ChannelsECProductAddRequest.Types.Aftersale
{
}
}
/// <summary>
@@ -131,6 +150,28 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonPropertyName("attrs")]
public IList<Types.Attribute>? AttributeList { get; set; }
/// <summary>
/// 获取或设置商品编码。
/// </summary>
[Newtonsoft.Json.JsonProperty("spu_code")]
[System.Text.Json.Serialization.JsonPropertyName("spu_code")]
public string? ApuCode { get; set; }
/// <summary>
/// 获取或设置品牌 ID。
/// </summary>
[Newtonsoft.Json.JsonProperty("brand_id")]
[System.Text.Json.Serialization.JsonPropertyName("brand_id")]
[System.Text.Json.Serialization.JsonNumberHandling(System.Text.Json.Serialization.JsonNumberHandling.AllowReadingFromString)]
public long? BrandId { get; set; }
/// <summary>
/// 获取或设置特殊资质图片媒体文件标识 ID 列表。
/// </summary>
[Newtonsoft.Json.JsonProperty("qualifications")]
[System.Text.Json.Serialization.JsonPropertyName("qualifications")]
public IList<string>? QualificationPictureMediaIdList { get; set; }
/// <summary>
/// 获取或设置发货方式。
/// </summary>
@@ -166,6 +207,13 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonPropertyName("limited_info")]
public Types.Limitation? Limitation { get; set; }
/// <summary>
/// 获取或设置额外的服务信息。
/// </summary>
[Newtonsoft.Json.JsonProperty("extra_service")]
[System.Text.Json.Serialization.JsonPropertyName("extra_service")]
public Types.ExtraService? ExtraService { get; set; }
/// <summary>
/// 获取或设置更新后是否立即上架。
/// </summary>
@@ -174,5 +222,12 @@ namespace SKIT.FlurlHttpClient.Wechat.Api.Models
[System.Text.Json.Serialization.JsonPropertyName("listing")]
[System.Text.Json.Serialization.JsonConverter(typeof(System.Text.Json.Converters.NumericalNullableBooleanConverter))]
public bool? RequireListing { get; set; }
/// <summary>
/// 获取或设置售后地址。
/// </summary>
[Newtonsoft.Json.JsonProperty("after_sale_info")]
[System.Text.Json.Serialization.JsonPropertyName("after_sale_info")]
public Types.Aftersale? Aftersale { get; set; }
}
}