import { JobMissionTypes, JobRecurrences, JobStatus, JobTemplateDurations, JobTemplateStatus } from '../enums'; import { Points } from './nested/Points'; import { BaseModel } from './BaseModel'; import { Company } from './Company'; import { Establishment } from './Establishment'; import { JobType } from './JobType'; import { User } from './User'; import { ProductGroup } from './ProductGroup'; import { Certification } from './Certification'; export interface Job extends BaseModel { accountManager: User; accountManagerId: string; activitiesId: string[]; additionalInfo: string[]; certification: Certification; certificationId: string; company: Partial; companyId: string; coordinates: Points; dateLastActivityGenerated: string | Date; days: number[]; description: string; /** * @deprecated duration should not be used, use durationInHours instead */ duration: JobTemplateDurations; endsAt: string | Date; durationInHours: number; companyExigence: string; establishment: Partial; establishmentId: string; excludedBadgesId: string[]; expiredProductCountConfig: number; initialTime: string; isSubsidized: boolean; isTemplate: boolean; isTrial: boolean; jobTemplate: string | Job; jobType: string | JobType; minimumWarehousePictures: number; missionType: JobMissionTypes; pointsUsed: number; pointsPerMission: number; price: number; productGroup: ProductGroup; productGroupId: string; ratingReasonsIds: string[]; recurrent: JobRecurrences; requiredBadgesId: string[]; requirements: string[]; retryable: boolean; startsAt: string | Date; status: JobStatus; surveyId: string; templateStatus: JobTemplateStatus; templateActiveInPanel: boolean; templateTitle: string; time: string; userId: string; userName: string; videoUri: string; /** * @deprecated */ workerMinimumHealth: number; workerPrice: number; }