/**
 * Special Code Response
 */
export interface ISpecialCodesResponse {
    code: string;
    name: string;
    description: string;
    signInRequired: boolean;
    hidePublicRates: boolean;
    ruleIds: bigint[];
    isLimitedUseCode: boolean;
}
/**
 * Group attendee Response
 */
export interface IGroupAttendeeResponse {
    addTax: boolean;
    attendeeCode: string;
    attendeeNum: number;
    company?: ICompanyDetails;
    coordinator?: ICoordinatorDetails;
    description?: string;
    formFieldsRequired?: IFormFieldsRequired;
    genericMaxAdultOccupancy: number;
    genericMaxChildOccupancy: number;
    groupCode: string;
    groupId: string;
    groupMaxOccupancies: IGroupMaxOccupancies[];
    groupName: string;
    groupRules: IGroupRules;
    startDate: string;
    endDate: string;
}
export interface ICompanyDetails {
    city?: string;
    fax?: string;
    name?: string;
    state?: string;
}
export interface ICoordinatorDetails {
    email?: string;
    fax?: string;
    name?: string;
    phone?: string;
}
export interface IFormFieldsRequired {
    addressLine1: boolean;
    addressLine2: boolean;
    checkIn: boolean;
    checkOut: boolean;
    cityName: boolean;
    company: boolean;
    companyFax: boolean;
    companyPhone: boolean;
    coordinatorEmail: boolean;
    coordinatorFax: boolean;
    coordinatorName: boolean;
    coordinatorPhone: boolean;
    countryName: boolean;
    creditCard: boolean;
    cutOff: boolean;
    earlyCheckIn: boolean;
    email: boolean;
    fax: boolean;
    firstName: boolean;
    lastName: boolean;
    lateCheckOut: boolean;
    paymentMethod: boolean;
    phone: boolean;
    postalCode: boolean;
    stateProv: boolean;
    title: boolean;
}
export interface IGroupMaxOccupancies {
    adultMaxOccupancy: number;
    childMaxOccupancy: number;
    rateTypeCode: string;
}
export interface IGroupRules {
    cancelPolicy: string;
    confidential: boolean;
    cutoffDate: string;
    earliestCheckInDate?: string;
    elasticInventory: boolean;
    hideEnhancements: boolean;
    hidePriceFromAttendees: boolean;
    latestCheckoutDate?: string;
    paymentMethod?: string;
    roomOrder: string;
}
