using System.Text.Json.Serialization;
using System.Collections.Generic;
using Topsdk.Util;

namespace Topsdk.Top.Ability414.Domain;

public class TaobaoTbkOrderDetailsTemporaryGetPublisherOrderDto
{

    /*
        订单在淘宝拍下付款的时间
    */
    private string? tbPaidTime;


    /*
        订单付款的时间，该时间同步淘宝，可能会略晚于买家在淘宝的订单创建时间
    */
    private string? tkPaidTime;


    /*
        买家确认收货的付款金额（不包含运费金额）
    */
    private string? payPrice;


    /*
        结算预估收入=结算金额*提成。以买家确认收货的付款金额为基数，预估您可能获得的收入。因买家退款、您违规推广等原因，可能与您最终收入不一致。最终收入以月结后您实际收到的为准
    */
    private string? pubShareFee;


    /*
        买家通过购物车购买的每个商品对应的订单编号，此订单编号并未在淘宝买家后台透出
    */
    private string? tradeId;


    /*
        二方：佣金收益的第一归属者； 三方：从其他淘宝客佣金中进行分成的推广者
    */
    private long? tkOrderRole;


    /*
        订单确认收货后且商家完成佣金支付的时间
    */
    private string? tkEarningTime;


    /*
        推广位管理下的推广位名称对应的ID，同时也是pid=mm_1_2_3中的“3”这段数字
    */
    private long? adzoneId;


    /*
        从结算佣金中分得的收益比率
    */
    private string? pubShareRate;


    /*
        unid(本字段不对外开放)
    */
    private string? unid;


    /*
        维权标签，0 含义为非维权 1 含义为维权订单
    */
    private long? refundTag;


    /*
        平台给与的补贴比率，如天猫、淘宝、聚划算等
    */
    private string? subsidyRate;


    /*
        提成=收入比率*分成比率。指实际获得收益的比率
    */
    private string? tkTotalRate;


    /*
        商品所属的一级类目名称
    */
    private string? itemCategoryName;


    /*
        掌柜旺旺
    */
    private string? sellerNick;


    /*
        推广者的会员id
    */
    private long? pubId;


    /*
        推广者赚取佣金后支付给阿里妈妈的技术服务费用的比率
    */
    private string? alimamaRate;


    /*
        平台出资方，如天猫、淘宝、或聚划算等
    */
    private string? subsidyType;


    /*
        商品图片
    */
    private string? itemImg;


    /*
        付款预估收入=付款金额*提成。指买家付款金额为基数，预估您可能获得的收入。因买家退款等原因，可能与结算预估收入不一致
    */
    private string? pubSharePreFee;


    /*
        买家拍下付款的金额（不包含运费金额）
    */
    private string? alipayTotalPrice;


    /*
        商品标题
    */
    private string? itemTitle;


    /*
        媒体管理下的对应ID的自定义名称
    */
    private string? siteName;


    /*
        商品数量
    */
    private long? itemNum;


    /*
        补贴金额=结算金额*补贴比率
    */
    private string? subsidyFee;


    /*
        技术服务费=结算金额*收入比率*技术服务费率。推广者赚取佣金后支付给阿里妈妈的技术服务费用
    */
    private string? alimamaShareFee;


    /*
        买家在淘宝后台显示的订单编号
    */
    private string? tradeParentId;


    /*
        订单所属平台类型，包括天猫、淘宝、聚划算等
    */
    private string? orderType;


    /*
        订单创建的时间，该时间同步淘宝，可能会略晚于买家在淘宝的订单创建时间
    */
    private string? tkCreateTime;


    /*
        产品类型
    */
    private string? flowSource;


    /*
        成交平台
    */
    private string? terminalType;


    /*
        通过推广链接达到商品、店铺详情页的点击时间
    */
    private string? clickTime;


    /*
        已拍下：指订单已拍下，但还未付款 已付款：指订单已付款，但还未确认收货 已收货：指订单已确认收货，但商家佣金未支付 已结算：指订单已确认收货，且商家佣金已支付成功 已失效：指订单关闭/订单佣金小于0.01元，订单关闭主要有：1）买家超时未付款； 2）买家付款前，买家/卖家取消了订单；3）订单付款后发起售中退款成功；3：订单结算，11：拍下未付款，12：订单付款， 13：订单失效，14：订单成功
    */
    private long? tkStatus;


    /*
        商品单价
    */
    private string? itemPrice;


    /*
        商品id
    */
    private string? itemId;


    /*
        推广位管理下的自定义推广位名称
    */
    private string? adzoneName;


    /*
        佣金比率
    */
    private string? totalCommissionRate;


    /*
        商品链接
    */
    private string? itemLink;


    /*
        媒体管理下的ID，同时也是pid=mm_1_2_3中的“2”这段数字
    */
    private long? siteId;


    /*
        店铺名称
    */
    private string? sellerShopTitle;


    /*
        订单结算的佣金比率+平台的补贴比率
    */
    private string? incomeRate;


    /*
        佣金金额=结算金额*佣金比率
    */
    private string? totalCommissionFee;


    /*
        预估内容专项服务费：内容场景专项技术服务费，内容推广者在内容场景进行推广需要支付给阿里妈妈专项的技术服务费用。专项服务费＝付款金额＊专项服务费率。
    */
    private string? tkCommissionPreFeeForMediaPlatform;


    /*
        结算内容专项服务费：内容场景专项技术服务费，内容推广者在内容场景进行推广需要支付给阿里妈妈专项的技术服务费用。专项服务费＝结算金额＊专项服务费率。
    */
    private string? tkCommissionFeeForMediaPlatform;


    /*
        内容专项服务费率：内容场景专项技术服务费率，内容推广者在内容场景进行推广需要按结算金额支付一定比例给阿里妈妈作为内容场景专项技术服务费，用于提供与内容平台实现产品技术对接等服务。
    */
    private string? tkCommissionRateForMediaPlatform;


    /*
        会员运营id
    */
    private long? specialId;


    /*
        渠道关系id
    */
    private long? relationId;


    /*
        预售时期，用户对预售商品支付的定金金额
    */
    private string? depositPrice;


    /*
        预售时期，用户对预售商品支付定金的付款时间
    */
    private string? tbDepositTime;


    /*
        预售时期，用户对预售商品支付定金的付款时间，可能略晚于在淘宝付定金时间
    */
    private string? tkDepositTime;


    /*
        口碑子订单号
    */
    private string? alscId;


    /*
        口碑父订单号
    */
    private string? alscPid;


    /*
        服务费信息
    */
    private IList<TaobaoTbkOrderDetailsTemporaryGetServiceFeeDto>? serviceFeeDtoList;


    /*
        激励池对应的rid
    */
    private string? lxRid;


    /*
        订单是否为激励池订单 1，表征是 0，表征否
    */
    private string? isLx;


    /*
        商品二级类目名称
    */
    private string? itemCategoryLevel2Name;


    /*
        商品三级类目名称
    */
    private string? itemCategoryLevel3Name;


    /*
        营销类型：该字段中视订单情况有单个或多个值。 例如：淘礼金（自助充值），特价版客户端染色，特价版客户端锁粉，特价版客户端推广。
    */
    private string? marketingType;


    /*
        订单更新时间
    */
    private string? modifiedTime;


    /*
        专用（不对外开放）
    */
    private string? talentPid;


    /*
        当前媒体对应契约方的分成比例
    */
    private string? tkContractShareRate;


    /*
        契约方memberId
    */
    private long? tkContractMemberId;


    /*
        契约id
    */
    private long? tkContractId;


    /*
        买家拍下金额（不包含运费金额）
    */
    private string? tbGmvTotalPrice;



    [JsonPropertyName("tb_paid_time")]
    public string? TbPaidTime
    {
        get => tbPaidTime;
        set => this.tbPaidTime = value;
    }

    [JsonPropertyName("tk_paid_time")]
    public string? TkPaidTime
    {
        get => tkPaidTime;
        set => this.tkPaidTime = value;
    }

    [JsonPropertyName("pay_price")]
    public string? PayPrice
    {
        get => payPrice;
        set => this.payPrice = value;
    }

    [JsonPropertyName("pub_share_fee")]
    public string? PubShareFee
    {
        get => pubShareFee;
        set => this.pubShareFee = value;
    }

    [JsonPropertyName("trade_id")]
    public string? TradeId
    {
        get => tradeId;
        set => this.tradeId = value;
    }

    [JsonPropertyName("tk_order_role")]
    public long? TkOrderRole
    {
        get => tkOrderRole;
        set => this.tkOrderRole = value;
    }

    [JsonPropertyName("tk_earning_time")]
    public string? TkEarningTime
    {
        get => tkEarningTime;
        set => this.tkEarningTime = value;
    }

    [JsonPropertyName("adzone_id")]
    public long? AdzoneId
    {
        get => adzoneId;
        set => this.adzoneId = value;
    }

    [JsonPropertyName("pub_share_rate")]
    public string? PubShareRate
    {
        get => pubShareRate;
        set => this.pubShareRate = value;
    }

    [JsonPropertyName("unid")]
    public string? Unid
    {
        get => unid;
        set => this.unid = value;
    }

    [JsonPropertyName("refund_tag")]
    public long? RefundTag
    {
        get => refundTag;
        set => this.refundTag = value;
    }

    [JsonPropertyName("subsidy_rate")]
    public string? SubsidyRate
    {
        get => subsidyRate;
        set => this.subsidyRate = value;
    }

    [JsonPropertyName("tk_total_rate")]
    public string? TkTotalRate
    {
        get => tkTotalRate;
        set => this.tkTotalRate = value;
    }

    [JsonPropertyName("item_category_name")]
    public string? ItemCategoryName
    {
        get => itemCategoryName;
        set => this.itemCategoryName = value;
    }

    [JsonPropertyName("seller_nick")]
    public string? SellerNick
    {
        get => sellerNick;
        set => this.sellerNick = value;
    }

    [JsonPropertyName("pub_id")]
    public long? PubId
    {
        get => pubId;
        set => this.pubId = value;
    }

    [JsonPropertyName("alimama_rate")]
    public string? AlimamaRate
    {
        get => alimamaRate;
        set => this.alimamaRate = value;
    }

    [JsonPropertyName("subsidy_type")]
    public string? SubsidyType
    {
        get => subsidyType;
        set => this.subsidyType = value;
    }

    [JsonPropertyName("item_img")]
    public string? ItemImg
    {
        get => itemImg;
        set => this.itemImg = value;
    }

    [JsonPropertyName("pub_share_pre_fee")]
    public string? PubSharePreFee
    {
        get => pubSharePreFee;
        set => this.pubSharePreFee = value;
    }

    [JsonPropertyName("alipay_total_price")]
    public string? AlipayTotalPrice
    {
        get => alipayTotalPrice;
        set => this.alipayTotalPrice = value;
    }

    [JsonPropertyName("item_title")]
    public string? ItemTitle
    {
        get => itemTitle;
        set => this.itemTitle = value;
    }

    [JsonPropertyName("site_name")]
    public string? SiteName
    {
        get => siteName;
        set => this.siteName = value;
    }

    [JsonPropertyName("item_num")]
    public long? ItemNum
    {
        get => itemNum;
        set => this.itemNum = value;
    }

    [JsonPropertyName("subsidy_fee")]
    public string? SubsidyFee
    {
        get => subsidyFee;
        set => this.subsidyFee = value;
    }

    [JsonPropertyName("alimama_share_fee")]
    public string? AlimamaShareFee
    {
        get => alimamaShareFee;
        set => this.alimamaShareFee = value;
    }

    [JsonPropertyName("trade_parent_id")]
    public string? TradeParentId
    {
        get => tradeParentId;
        set => this.tradeParentId = value;
    }

    [JsonPropertyName("order_type")]
    public string? OrderType
    {
        get => orderType;
        set => this.orderType = value;
    }

    [JsonPropertyName("tk_create_time")]
    public string? TkCreateTime
    {
        get => tkCreateTime;
        set => this.tkCreateTime = value;
    }

    [JsonPropertyName("flow_source")]
    public string? FlowSource
    {
        get => flowSource;
        set => this.flowSource = value;
    }

    [JsonPropertyName("terminal_type")]
    public string? TerminalType
    {
        get => terminalType;
        set => this.terminalType = value;
    }

    [JsonPropertyName("click_time")]
    public string? ClickTime
    {
        get => clickTime;
        set => this.clickTime = value;
    }

    [JsonPropertyName("tk_status")]
    public long? TkStatus
    {
        get => tkStatus;
        set => this.tkStatus = value;
    }

    [JsonPropertyName("item_price")]
    public string? ItemPrice
    {
        get => itemPrice;
        set => this.itemPrice = value;
    }

    [JsonPropertyName("item_id")]
    public string? ItemId
    {
        get => itemId;
        set => this.itemId = value;
    }

    [JsonPropertyName("adzone_name")]
    public string? AdzoneName
    {
        get => adzoneName;
        set => this.adzoneName = value;
    }

    [JsonPropertyName("total_commission_rate")]
    public string? TotalCommissionRate
    {
        get => totalCommissionRate;
        set => this.totalCommissionRate = value;
    }

    [JsonPropertyName("item_link")]
    public string? ItemLink
    {
        get => itemLink;
        set => this.itemLink = value;
    }

    [JsonPropertyName("site_id")]
    public long? SiteId
    {
        get => siteId;
        set => this.siteId = value;
    }

    [JsonPropertyName("seller_shop_title")]
    public string? SellerShopTitle
    {
        get => sellerShopTitle;
        set => this.sellerShopTitle = value;
    }

    [JsonPropertyName("income_rate")]
    public string? IncomeRate
    {
        get => incomeRate;
        set => this.incomeRate = value;
    }

    [JsonPropertyName("total_commission_fee")]
    public string? TotalCommissionFee
    {
        get => totalCommissionFee;
        set => this.totalCommissionFee = value;
    }

    [JsonPropertyName("tk_commission_pre_fee_for_media_platform")]
    public string? TkCommissionPreFeeForMediaPlatform
    {
        get => tkCommissionPreFeeForMediaPlatform;
        set => this.tkCommissionPreFeeForMediaPlatform = value;
    }

    [JsonPropertyName("tk_commission_fee_for_media_platform")]
    public string? TkCommissionFeeForMediaPlatform
    {
        get => tkCommissionFeeForMediaPlatform;
        set => this.tkCommissionFeeForMediaPlatform = value;
    }

    [JsonPropertyName("tk_commission_rate_for_media_platform")]
    public string? TkCommissionRateForMediaPlatform
    {
        get => tkCommissionRateForMediaPlatform;
        set => this.tkCommissionRateForMediaPlatform = value;
    }

    [JsonPropertyName("special_id")]
    public long? SpecialId
    {
        get => specialId;
        set => this.specialId = value;
    }

    [JsonPropertyName("relation_id")]
    public long? RelationId
    {
        get => relationId;
        set => this.relationId = value;
    }

    [JsonPropertyName("deposit_price")]
    public string? DepositPrice
    {
        get => depositPrice;
        set => this.depositPrice = value;
    }

    [JsonPropertyName("tb_deposit_time")]
    public string? TbDepositTime
    {
        get => tbDepositTime;
        set => this.tbDepositTime = value;
    }

    [JsonPropertyName("tk_deposit_time")]
    public string? TkDepositTime
    {
        get => tkDepositTime;
        set => this.tkDepositTime = value;
    }

    [JsonPropertyName("alsc_id")]
    public string? AlscId
    {
        get => alscId;
        set => this.alscId = value;
    }

    [JsonPropertyName("alsc_pid")]
    public string? AlscPid
    {
        get => alscPid;
        set => this.alscPid = value;
    }

    [JsonPropertyName("service_fee_dto_list")]
    public IList<TaobaoTbkOrderDetailsTemporaryGetServiceFeeDto>? ServiceFeeDtoList
    {
        get => serviceFeeDtoList;
        set => this.serviceFeeDtoList = value;
    }

    [JsonPropertyName("lx_rid")]
    public string? LxRid
    {
        get => lxRid;
        set => this.lxRid = value;
    }

    [JsonPropertyName("is_lx")]
    public string? IsLx
    {
        get => isLx;
        set => this.isLx = value;
    }

    [JsonPropertyName("item_category_level2_name")]
    public string? ItemCategoryLevel2Name
    {
        get => itemCategoryLevel2Name;
        set => this.itemCategoryLevel2Name = value;
    }

    [JsonPropertyName("item_category_level3_name")]
    public string? ItemCategoryLevel3Name
    {
        get => itemCategoryLevel3Name;
        set => this.itemCategoryLevel3Name = value;
    }

    [JsonPropertyName("marketing_type")]
    public string? MarketingType
    {
        get => marketingType;
        set => this.marketingType = value;
    }

    [JsonPropertyName("modified_time")]
    public string? ModifiedTime
    {
        get => modifiedTime;
        set => this.modifiedTime = value;
    }

    [JsonPropertyName("talent_pid")]
    public string? TalentPid
    {
        get => talentPid;
        set => this.talentPid = value;
    }

    [JsonPropertyName("tk_contract_share_rate")]
    public string? TkContractShareRate
    {
        get => tkContractShareRate;
        set => this.tkContractShareRate = value;
    }

    [JsonPropertyName("tk_contract_member_id")]
    public long? TkContractMemberId
    {
        get => tkContractMemberId;
        set => this.tkContractMemberId = value;
    }

    [JsonPropertyName("tk_contract_id")]
    public long? TkContractId
    {
        get => tkContractId;
        set => this.tkContractId = value;
    }

    [JsonPropertyName("tb_gmv_total_price")]
    public string? TbGmvTotalPrice
    {
        get => tbGmvTotalPrice;
        set => this.tbGmvTotalPrice = value;
    }

}

