import dayjs, {Dayjs} from "dayjs";
import {Invitation, InvitationType} from "./Invitation";
import {CustomSelectOptions} from "../ReactComponents";


// export interface AddSingleInvitation {
//
//     type: 'single'
//     visitor_email: [string]
//     title: string
//     message_to_visitor: string
//     message_to_gate: string
//     building_no: number
//     room_no: number
//     visits_dates: string[]
//     visits_from: string[]
//     visits_to: string[]
//
// }
//
// export interface AddEducationalInvitation {
//
//     type: 'educational'
//     visitor_email: [string]
//     title: string
//     group_name: string
//     message_to_visitor: string
//     message_to_gate: string
//     building_no: number
//     room_no: number
//     visits_dates: string[]
//     visits_from: string[]
//     visits_to: string[]
//
// }
//
// export interface AddGroupInvitation {
//
//     type: 'group'
//     visitors_emails: string[]
//     title: string
//     group_name: string
//     message_to_visitor: string
//     message_to_gate: string
//     building_no: number
//     room_no: number
//     visits_dates: string[]
//     visits_from: string[]
//     visits_to: string[]
// }

export interface AddInvitationParams {

    type: InvitationType
    visitors_emails: string[]
    title: string
    group_name: string
    message_to_visitor: string
    message_to_gate: string
    building_institute: string
    mass_title?:string
    room_no: string
    visits_dates: string[]
    visits_from: string[]
    visits_to: string[]
    behalf_user?:string
    behalf_signature?:string
}

export interface AcceptInvitationParams {
    invitation_id: number
    visitor_email: string
    visitor_firstname: string
    visitor_lastname: string
    visitor_phone: string
    personal_id: string
    vehicle_plate: string
    companions: string[]
}

export interface DeclineInvitationParams {
    invitation_id: number
    message_to_host: string
}

export interface DPassCreateForm  {
    visits_dates: Dayjs[],
    visits_from: Dayjs[],
    visits_to: Dayjs[],
    building_institute: string,
    building_name:string,
    institute_name:string,
    room_no: string,
    message_to_visitor: string,
    message_to_gate: string,
    visitors_emails: string[],
    title: string,
    group_name: string,
    mass_title: string,
    locale:string,
    principal_id: number,
    principal_signature:number,

}

export interface DPassGateCreateForm  {
    visits_dates: Dayjs[],
    visits_from: Dayjs[],
    visits_to: Dayjs[],
    visitors_emails: string[],
    title: string,
    visitor_firstname: string,
    visitor_lastname: string,
    personal_id: string,
    vehicle_plate: string,
    user_building_info: string,
    visitor_phone?: string,
    locale:string,
}

export interface DPassSelectOptions {
    buildings: CustomSelectOptions,
    rooms: CustomSelectOptions,
}

export interface CreateInvitationResponse {
    invitation: Invitation
    message: string
}


