/** @format */ import { NsWISConfigurations } from "./configurations.model"; export declare namespace NsEmpWebExpData { interface ITimezone { buid: string; zoneId: string; } interface IQueryResponse { errors?: IError[] | null; data: IData; extensions?: null; dataPresent: boolean; } interface IVehicleDetails { id: string; type: string; name: string; number: string; build: string; } interface IVehicleBuildDetails { seatTypeId: number; seatTypeName: string; entityType: string; } interface IVehicleCreateDetails { type: "CAR" | "BIKE"; name: string; number: string; build: string; } interface IError { message: string; } interface IData { getEmployee?: IEmployee[] | null; } interface IEmployee { name: string; empId: string; empGuid: string; email: string; gender: string; officeGuid: string; officeLocation: string; officeTimeZoneId: string; projectId: string; empWeeklyOff?: number[] | null; bookingDetailDTOS?: IBookingDetailDTOS[] | null; homeAddressInfo?: IAddressInfo | null; profileOffice?: IAddressInfo | null; lastStatus?: IEmployeeCustomStatus | null; preferredLocale?: string; transportUser?: boolean; } interface IEmployeeCustomStatus { statusName?: string; color?: string; displayName?: string; } interface IDefaultStatusList { statusDisplayList?: IEmployeeCustomStatus[] | null; } interface IAddressInfo { address: string; geoCord: string; guid: string; landmark: string | null; locType: string | null; nativeId: number | null; type: string | null; } interface IMealFeedbackModalInfo { bookingDate: string; bookingId: string; overallRating: number; mealData: Array; mealFeedBackOptions: NsWISConfigurations.IMealFeedBackOptions; } interface IMealData { mealId: string; mealName: string; } interface IApprovalDataList { requestStatus: string; statusToDisplay: string | undefined; approvalType: string; autoApprovalTime: number; message: string; pendingStateMessage: string | undefined; } interface IBookingDetailDTOS { mode?: string; list?: IApprovalDataList; bookingId: string; recurrenceId?: string; meetingId?: string | null; bookingRequestType: IBookingRequestType; bookingReason?: string | null; approvalType?: null; autoApprovalTime: number; premiseType: string; requestStatus: IBookingStates; endTime: number; extras: IBookingExtras; loginShiftId: string; logoutShiftId: string; bookingRequestId: string; signInTime?: number | null; signOutTime?: number | null; startTime: number; channel: string; officeId: string; additionalBookings?: (IBookingDetailDTOS | null)[] | null; tokenId?: string | null; premiseId: string; tokenName?: string | null; premiseName?: string | null; timezone: string; userRequestDTOS?: ITransportRequest[] | null; waitingPremiseIds?: string[]; typeWiseWaitingList?: any; waitingPremises?: IParkingPremise[]; specialRequests?: Array; } interface IList { bookingRequestType: string; time: { startTime: number; endTime: number; timezone: string; }; tokenName: string; booking: IBookingDetailDTOS; tagsToBeShown?: boolean; approvalText?: string; approvalEnabled?: boolean; } interface IParkingDetails { tokenId: string; tokenName: string; premiseType: string; premiseName: string; } interface IActions { name: string; id: number; } type IBookingStates = "CANCELLED" | "PENDING" | "CONFIRMED" | "SIGNED_IN" | "SIGNED_OUT" | "REJECTED" | "ABSENT"; interface IBookingExtras { login?: boolean | null; logout?: boolean | null; eventReason?: string | null; loginShiftId?: null; logoutShiftId?: null; isAdhoc?: boolean; isNextDayLogout?: boolean; registrationNumber?: string; entityTypeId?: string; vehicleId?: string; mealData?: IMealsEntity[]; mealMap?: Map; subject?: string | null; dynamicData?: object; overallRating?: number | null | undefined; projectCode?: string | null | undefined; } interface IAdditionalBooking { bookingId: string; bookingStatus?: string; channel?: string; eventReason?: string; bookingRequestType: string; requestStatus: string; endTime: number; extras: IAdditionalBookingExtras; loginShiftId: string; logoutShiftId: string; bookingRequestId: string; signInTime?: null; startTime: number; tokenId?: null; premiseId: string; tokenName?: null; premiseName?: string; premiseType: string; } interface IAdditionalBookingExtras { bookingId?: string; login?: null; logout?: null; eventReason?: null; loginShiftId?: null; logoutShiftId?: null; mealData?: IMealsEntity[] | null; premiseId?: string | null; premiseName?: string | null; premiseEndTime?: number | null; premiseStartTime?: number | null; parkingDisclaimer: boolean; overallRating?: number | string | null | undefined; } interface IOffice { nativeId: number; guid: string; address: string; geoCord: string; landmark?: null; type: string; locType: string; timezone: string; label: IFullOfficeAddress | string; value: string; fullAddress?: string; } interface IFullOfficeAddress { primaryText?: string; secondaryText?: string; } interface IShiftData { hours: number; minutes: number; shiftId: string; shiftType: string; avgSpeed: number; avgWaitingTime: number; pick: string; femaleConstraint: boolean; femaleConstraintType: string; tags: string; formattedTime: string; timeInMinutes: number; transportAvalability: boolean; label: string; value: string; scheduleEventId: string; type?: string; isNextDay?: boolean; isAdhoc?: boolean; } interface IPremise { premiseId: string; premiseName?: string; geoCode?: string; premiseTypeId?: string; premiseTypeText: string; totalCapacity?: number; premiseCapacityDOs?: IPremiseCapacityDOsEntity[] | null; } interface IPremiseCapacityDOsEntity { premiseCapacityid: string; premiseId: string; capacity: number; startDate: string; endDate: string; startMinOfDay: number; endMinOfDay: number; shiftGuid: string; } interface IPreference { timeZone?: string; loginTransport?: boolean; logoutTransport?: boolean; officeGuid?: string; loginShiftId?: string; logoutShiftId?: string; seatDetails?: ISeatDetails; meals?: IMeal; parking?: IParking; days?: string[] | null; defaultLoginShift?: IShiftData; defaultLogoutShift?: IShiftData; } type TPreferenceDayName = "DEFAULT" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY"; interface IDayPreference { day: TPreferenceDayName; bookingType: IBookingRequestType; weeklyOff: boolean; } interface ISeatDetails { seatId: string; floorId: string; seatName: string; floorName: string; seatAssignedByAdmin: boolean; } interface IParking { premiseId: string; tokenName: string; premiseName: string; tokenId: string; parentPremiseId: string; parkingType?: string; } interface IAddon { name: string; id: IAddonID; icon: string; iconBgColor: string; mandatory?: boolean; } type TCardActions = "Edit" | "Cancel" | "View" | "Convert"; type IAddonID = "COMMUTE" | "SEAT" | "MEAL" | "OTHER_DETAILS"; interface ICommuteOption { name?: string; disable: boolean; id: ICommuteID; value?: any; } type ICommuteID = "transport" | "parking" | "none" | "parkingWaitlist"; type IBookingRequestType = "OFFICE" | "WFH" | "ON_CALL" | "WFO" | null; interface IBookingRequest { empGuid: string; endTime: number; error: boolean; errorMessage: string; requestId: string; requestType: "CREATE" | "UPDATE" | "CANCEL"; startTime: number; bookingRequestType: IBookingRequestType; name: string; timezone: string; usersBooking?: IUsersBookingEntity[] | null; loginUserRequestDTO?: ITransportRequest; logoutUserRequestDTO?: ITransportRequest; errorMessageForLogInTransport?: string; errorMessageForLogoutTranseport?: string; } interface IBookingCancelRequest { bookingType: string[]; recurrenceId?: string | null; requestId: string; channel?: string; } interface IBookingCancelResponse { bookingCancelled: boolean; message: string; } interface IUsersBookingEntity { bookingId: string; bookingStatus: string; bookingReason?: string; channel: string; endTime: number; eventReason: string; extras: IBookingExtras | IAdditionalBookingExtras; loginShiftId: string; logoutShiftId: string; officeId: string; premiseId: string; premiseName?: string; requestId: string; requestType: string; signinTime: number; startTime: number; type: string; bookingRequestType: IBookingRequestType; tokenId?: string; tokenName?: string; seatId?: string; seatName?: string; parentPremiseId?: string; waitingPremiseIds?: string[]; typeWiseWaitingList?: any; waitingPremises?: IParkingPremise[]; } interface ITransportRequest { scheduleId?: string; bookingId?: string; direction: "LOGIN" | "LOGOUT"; status: "SCHEDULED" | "SCHEDULE_CANCELLED" | "CAB_ALLOCATED"; tripdetail: { tripTime: string; requestType: "PLANNED"; nextDayLogout: boolean; pickupLocation: ITransportLocation; dropLocation: ITransportLocation; }; } interface ITransportLocation { id: string; latitude: Number; longitude: Number; address: string; } interface IProfileRules { bulkScheduleAllowedDays: number; } interface ISeatData { floorId?: string; floorName?: string; seatId?: string; seatName?: string; premiseId?: string; premiseName?: string; } interface ISeatChange extends ISeatData { officeGuid: string; } interface IShiftValidationRequest { empGuid: string; endTime: number; gender: string; officeName: string; projectId: string; startTime: number; } interface IShiftValidationResponse { logout: IShiftValidity; login: IShiftValidity; } interface IShiftValidity { [empGuid: string]: boolean; } interface ITeammateData { displayMessage: string; employees: [ { empguid: string; name: string; projectGuid: string; projectName: string; } ]; } interface IParkingPremise { premiseId: string; premiseType: string; parentPremise: string; buid?: string[] | null; geoCode: string; bookingType: string; premiseTypeId: string; premiseTypeText: string; premiseCapacity?: null; premiseTypeDisplayName: string; availability: number; parentPremiseName: string; premise: string; value: string; label: string; seatName?: string; seatId?: string; parentPremiseId?: string; waitingCount?: number; typeWiseWaitingCount?: {}; isChecked?: boolean; waitListType: string; } interface IMealMapType { name: string; status: string; mealSelection: IMealOption; mealId: string; premiseEndTime: number; premiseId: string; premiseName: string; premiseStartTime: number; } interface IMeal { premiseName: string; premiseId: string; premiseStartTime: number; premiseEndTime: number; meals?: IMealsEntity[] | null; mealData?: IMealsEntity[] | null; mealMap?: Map; selectedType?: boolean | null; } interface IMealCutOff { startShift: number; endShift: number; timeZone: string; floorId?: string; } interface IMealsEntity { status?: string; mealOption?: IMealOption; mealId?: string; name?: string; mealCutOff?: boolean; mealStartTime?: number; mealEndTime?: number; buid?: string; premiseId?: string; mealName?: string; } interface IMealOption { [key: string]: string; } interface IWidget { name: string; type: "list" | "calendar" | "hero"; actions?: { name: string; id: number; }[]; reqConfigs: string[]; id: number; expanded?: boolean; } interface IBookingFormConfig { mode: "CREATE" | "EDIT" | "CONVERT"; data?: NsEmpWebExpData.IBookingDetailDTOS; userConfigs: NsWISConfigurations.IConfigurations; profile: NsEmpWebExpData.IEmployee; heading: string; type: NsEmpWebExpData.IBookingRequestType; nearbyBookingDetails?: INearbyBooking; } interface IAPIResponse { errorCode: number; message: string; } interface IEligibilityInfo { eligible: boolean; registered: boolean; expiryTime?: number; willingness: boolean; notInContainmentZone: boolean; ineligibilityReason?: string; popupType?: "VAX"; } interface IVaXStatus { expiryTime?: number; vaxStatus?: any; } interface RRULE { days?: []; repeatedDay?: number; } interface IBookingRequestObject { updatePreferences?: boolean; channel?: string; bookings?: NsEmpWebExpData.IBookingRequest[]; schedules?: NsEmpWebExpData.ITransportRequest[]; rrule?: NsEmpWebExpData.RRULE; } interface IFailedBookingResponse { date: string; reason: string; } interface ISuccessBookingResponse { bookingId: string; endTime: number; requestId: string; startTime: number; } interface IRecurrenceBookingResponse { failedBookings: IFailedBookingResponse[]; successBookings: ISuccessBookingResponse[]; totalBookings: number; } interface IAllotedParkingDetails { vehicleType?: string; zoneId?: string; levelId?: string; seatId?: string; } interface INearbyBooking { teamMateEmpGuid?: string; bookingType?: string; startTime: number; endTime: number; loginShiftId?: string; logoutShiftId?: string; officeGuid?: string; floorId?: string; seatId?: null; seatName?: null; floorName?: string; officeName?: string; } interface ILocaleList { name?: string; code?: string; } }