import {FilterStatusType} from "../ReactComponents";
import exp from "constants";

export interface Invitation {
    id: number
    status_id: number
    card_number: string
    code:string
    status: InvitationStatus
    title: string
    host_email: string
    host_phone_number: string
    host_fullname: string
    message_to_visitor: string
    message_to_gate: string
    institute_no: string
    institute_name: string
    institute_name_en: string
    building_no: string
    building_name: string
    building_name_en: string
    building_number: string
    locale: 'en' | 'el'
    room: string
    room_en: string
    principal_signature: string
    principal_signature_en: string
    type: InvitationType
    created_at: string
    updated_at: string
    companions: [string]
    visitor: Visitor
    visits: Visit[]
    mass_title:{
        title:string
    }
    behalf_user: number
    all_visits_cancelled:boolean
    cancelled_visits_count:number
}


interface Visit {
    id: number,
    invitation_id: number,
    status_id: number,
    code: string
    date: string
    time_from: string
    time_to: string
    created_at: string
    updated_at: string
}

export interface Visitor {
    id: number
    email: string
    firstname: string
    lastname: string
    phone_number: string
    personal_id: string
    notes: string
    locale:string
}

export type InvitationType = 'group' | 'single' | 'mass'

export interface Status {
    new_name: string
    description: string
    id: number
    name: 'pending' | 'scheduled' | 'on_going' | 'completed' | 'timed_out' | 'cancelled_host' | 'cancelled_visitor' | 'unfulfilled'
    view_name: string
    view_name_plural: string
    type: FilterStatusType
}

export interface InvitationStatus {
    description: string
    id: 1
    name: 'pending' | 'awaiting_acceptance' | 'accepted' | 'declined' | 'cancelled'
    view_name: string
    view_name_plural: string
    type: FilterStatusType
}