package com.yc.ship.module.trade.controller.admin.order.vo.order;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;

/**
 * 游客名单导出 - 游客信息VO
 */
@Schema(description = "游客名单导出 - 游客信息")
@Data
public class TouristExportVisitorVO {

    // ==================== 订单详情 ====================
    @Schema(description = "代理商")
    private String sourceName;

    @Schema(description = "订单号")
    private String orderNo;

    @Schema(description = "团号")
    private String groupNo;

    @Schema(description = "航向")
    private String direction;

    @Schema(description = "航期")
    private String travelDate;

    @Schema(description = "应收款")
    private BigDecimal amount;

    @Schema(description = "实收款")
    private BigDecimal payAmount;

    @Schema(description = "定金")
    private BigDecimal deposi;

    @Schema(description = "支付状态（1=已支付，其他=未支付）")
    private Integer payStatus;

    @Schema(description = "接站")
    private String jz;

    @Schema(description = "订单状态")
    private String orderStatus;

    @Schema(description = "订单id")
    private String orderId;

    // ==================== 房间详情 ====================
    @Schema(description = "房间索引ID（用于合并）")
    private String roomIndexId;

    @Schema(description = "序号（按订单分组）")
    private Integer roomIndex;

    @Schema(description = "房型")
    private String roomType;

    @Schema(description = "入住类型（房型描述）")
    private String roomDescription;

    @Schema(description = "用房数")
    private String typeName;

    // ==================== 游客详情 ====================
    @Schema(description = "游客姓名")
    private String name;

    @Schema(description = "性别")
    private Integer gender;

    @Schema(description = "证件类型")
    private Integer credentialType;

    @Schema(description = "证件号")
    private String credentialNo;

    @Schema(description = "游客类型")
    private String visitorType;

    @Schema(description = "国籍名称")
    private String nationalityName;

    @Schema(description = "生日")
    private String birthday;

    @Schema(description = "手机号")
    private String mobile;

    @Schema(description = "年龄")
    private String age;

    @Schema(description = "楼层")
    private String floor;

    @Schema(description = "增值服务")
    private String valueAddedService;

    @Schema(description = "优惠政策")
    private String policyName;

    @Schema(description = "备注")
    private String remark;
}
