Appearance
Relationships
Inferred foreign-key relationships for the Ethos Building Services database. The live database exports no foreign keys, so these were derived by parsing the SQL definition text of all 102 views and 516 stored procedures (JOIN/WHERE equijoins) plus column-naming conventions, and validated against the table schemas in schemas/tables/ — both endpoints of every relationship exist as real table columns.
Confidence levels:
- high — the join appears in two or more SQL objects, or in SQL plus a naming-convention match.
- medium — the join appears in exactly one SQL object.
- low — inferred from column naming only (e.g.
primeJobID→dbo.primeJobs.Id), never observed in a join.
Machine-readable source: relationships.json. Totals: 177 relationships (109 high, 56 medium, 12 low).
Note: the 14 column-level matches between primeExportsEndataScopeImport and its _stage twin are upsert matching keys from the staging ETL, not foreign keys.
prime* — Prime Ecosystem job management
| From | To | Confidence | Evidence |
|---|---|---|---|
dbo.PrimeAccountsPayableInvoices.WorkOrderId | dbo.primeWorkOrders.id | high | dbo.vprimeFinancialschedule_3_work_orders, dbo.vPrimeHomeOwnerWarrantyCheck |
dbo.primeAccountsReceivableInvoices.InvoicedTo | dbo.primeContacts.id | medium | dbo.vPrimeJobinvoicesObjectivedb |
dbo.primeAccountsReceivableInvoicesItemAllocation.AllocationId | dbo.primeAllocations.Id | high | dbo.vPrimeSalesinvoicesObjectivedb, dbo.vprimeSOMreport |
dbo.primeAccountsReceivableInvoicesItemAllocation.InvoiceItemId | dbo.primeAccountsReceivableInvoicesItem.Id | high | dbo.vPrimeSalesinvoicesObjectivedb, dbo.vprimeSOMreport, dbo.spEthSyncQueueMissingObjects |
dbo.primeAccountsReceivableInvoicesItem.InvoiceId | dbo.primeAccountsReceivableInvoices.Id | high | dbo.vPrimeSalesinvoicesObjectivedb, dbo.vprimeSOMreport, dbo.spEthSyncQueueMissingObjects |
dbo.primeAccountsReceivableInvoices.JobId | dbo.primeJobs.Id | high | dbo.vprimeFinancialschedule_1_jobandinvoicedetails, dbo.vprimeSOMreport, dbo.vPrimeSOM_Report_1 (+6 more) |
dbo.primeAllocations.AllocationStatusId | dbo.primeAllocatonStatuses.id | high | dbo.vPrimeSalesinvoicesObjectivedb, dbo.vprimeSOMreport, dbo.vPrimeSOM_Report_5 |
dbo.primeAllocations.AssignedContactId | dbo.primeContacts.id | medium | dbo.spPrimeGetJobAllocations |
dbo.primeAllocations.AssignedId | dbo.primeUsers.id | high | dbo.vprimeSOMreport, dbo.vPrimeSOM_Report_1, dbo.vPrimeSOM_Report_5 |
dbo.primeAllocations.JobId | dbo.primeJobs.Id | high | dbo.vPrimeSOM_Report_1, dbo.vPrimeSOM_Report_5, dbo.spPrimeGetAllocationTypesByPhoneCallID |
dbo.primeAllocations.JobId | dbo.makesafePhoneCall.PrimeJobID | medium | dbo.spPrimeGetAllocationTypesByPhoneCallID |
dbo.primeAppointments.appointmentTypeId | dbo.primeAppointmentType.id | high | dbo.vOptimoRouteOrders, dbo.VPrimeEstimatorstagesEstimatorworkflowdb, dbo.vwPrimeAppointmentReport (+6 more) |
dbo.primeAppointments.appointmentTypeId | dbo.ethBookingService.primeAppointmentTypeID | medium | dbo.spOptimoRouteGetAppointmentQueue |
dbo.primeAppointments.createdBy | dbo.primeUsers.fullName | high | dbo.spOptimoRouteGetNotScheduledOrders, dbo.spOptimoRouteGetNotScheduledOrdersEmailQueue, dbo.spOptimoRouteGetScheduledOrders |
dbo.primeAppointments.jobId | dbo.primeJobs.Id | high | dbo.vOptimoRouteOrders, dbo.VPrimeEstimatorstagesEstimatorworkflowdb, dbo.vwPrimeAppointmentReport (+4 more) |
dbo.primeAppointments.primaryUserId | dbo.primeUsers.id | high | dbo.vOptimoRouteOrders, dbo.vwPrimeAppointmentReport, dbo.spOptimoRouteGetAppointmentQueue (+3 more) |
dbo.primeAppointments.primaryUserId | dbo.primeContacts.id | medium | dbo.VPrimeEstimatorstagesEstimatorworkflowdb |
dbo.primeAttachment.attachmentTypeId | dbo.primeAttachmentType.id | high | dbo.vPrimeHomeOwnerWarrantyCheck, dbo.spPrimeGetAttachmentInformation, dbo.spPrimeGetJobAttachments |
dbo.primeAttachment.objectId | dbo.primeJobs.Id | medium | dbo.vprimeSWMSreport |
dbo.primeContactLocation.primecontactID | dbo.primeUsers.contactId | medium | dbo.spEthBookingEstimatorJobDistanceQueue |
dbo.primeContactLocation.primecontactID | dbo.primeContacts.id | high | dbo.spEthBookingGetMissingEstimatorLocations, dbo.spEthGetBookingEstimatorLocations, dbo.spMakesafeSearchPhoneCallTrades (+2 more) |
dbo.primeContactRelationships.contactId | dbo.primeContacts.id | high | dbo.spMakeSafePhoneCallRelatedPrimeJobs, dbo.spPrimeGetJobContactRelationships, dbo.spPrimeJobSearch |
dbo.primeContactRelationships.jobId | dbo.primeJobs.Id | high | dbo.spElevenLabsGetConversationInitialization, dbo.spMakeSafePhoneCallRelatedPrimeJobs, dbo.spPrimeGetJobContactRelationships (+1 more) |
dbo.primeContactTrades.ContactID | dbo.primeContacts.id | high | dbo.spMakesafeSearchPhoneCallTrades, dbo.spMCPSearchTrades |
dbo.primeContactTrades.TradeID | dbo.primeTrades.id | high | dbo.spMakesafeSearchPhoneCallTrades, dbo.spMCPSearchTrades |
dbo.primeEstimateCategories.categoryId | dbo.primeEstimateCategoryItems.categoryId | high | dbo.spPrimeDeleteEstimatesForJob, dbo.spPrimePeerReviewEstimatedetails |
dbo.primeEstimates.estimateId | dbo.primeEstimateCategories.estimateId | high | dbo.spPrimeDeleteEstimatesForJob, dbo.spPrimePeerReviewEstimatedetails |
dbo.primeEstimates.jobId | dbo.primeJobs.Id | high | dbo.spEthGetEstimateReview, dbo.spPrimePeerReviewEstimatedetails |
dbo.primeExportFeedbackRegister.JobNumber | dbo.primeJobs.JobNumber | medium | dbo.vPrimeExportFeedbackRegister |
dbo.primeExportJobsRegistered.CurrentStatus | dbo.ethFactStatus.StatusName | medium | dbo.vPrimeExportJobsRegistered |
dbo.primeExportJobsRegistered.CurrentStatus | dbo.primeStatuses.name | medium | dbo.vPrimeExportJobsRegistered |
dbo.primeExportJobsRegistered.JobNumber | dbo.primeJobs.JobNumber | medium | dbo.vPrimeExportJobsRegistered |
dbo.primeExportJobTags.jobNumber | dbo.primeJobs.JobNumber | medium | dbo.spEthKpiTagJobs |
dbo.primeExportsEndataScopeImport.Category | dbo.primeExportsEndataScopeImport_stage.Category | high | dbo.spPrimeScope_UpsertStageRowToOrigin, dbo.spUpsertPrimeScopeImportV2 |
dbo.primeExportsEndataScopeImport.ClientReference | dbo.primeExportsEndataScopeImport_stage.ClientReference | high | dbo.spPrimeScope_UpsertStageRowToOrigin, dbo.spUpsertPrimeScopeImportV2 |
dbo.primeExportsEndataScopeImport.Description | dbo.primeExportsEndataScopeImport_stage.Description | medium | dbo.spUpsertPrimeScopeImportV2 |
dbo.primeExportsEndataScopeImport.EstimateLabel | dbo.primeExportsEndataScopeImport_stage.EstimateLabel | high | dbo.spPrimeScope_UpsertStageRowToOrigin, dbo.spUpsertPrimeScopeImportV2 |
dbo.primeExportsEndataScopeImport.GST | dbo.primeExportsEndataScopeImport_stage.GST | medium | dbo.spUpsertPrimeScopeImportV2 |
dbo.primeExportsEndataScopeImport.H | dbo.primeExportsEndataScopeImport_stage.H | medium | dbo.spUpsertPrimeScopeImportV2 |
dbo.primeExportsEndataScopeImport.JobNumber | dbo.primeExportsEndataScopeImport_stage.JobNumber | high | dbo.spPrimeScope_UpsertStageRowToOrigin, dbo.spUpsertPrimeScopeImportV2 |
dbo.primeExportsEndataScopeImport.L | dbo.primeExportsEndataScopeImport_stage.L | medium | dbo.spUpsertPrimeScopeImportV2 |
dbo.primeExportsEndataScopeImport.LabourQty | dbo.primeExportsEndataScopeImport_stage.LabourQty | medium | dbo.spUpsertPrimeScopeImportV2 |
dbo.primeExportsEndataScopeImport.MaterialQty | dbo.primeExportsEndataScopeImport_stage.MaterialQty | medium | dbo.spUpsertPrimeScopeImportV2 |
dbo.primeExportsEndataScopeImport.MaterialRate | dbo.primeExportsEndataScopeImport_stage.MaterialRate | medium | dbo.spUpsertPrimeScopeImportV2 |
dbo.primeExportsEndataScopeImport.TotalSell | dbo.primeExportsEndataScopeImport_stage.TotalSell | medium | dbo.spUpsertPrimeScopeImportV2 |
dbo.primeExportsEndataScopeImport.Trade | dbo.primeExportsEndataScopeImport_stage.Trade | high | dbo.spPrimeScope_UpsertStageRowToOrigin, dbo.spUpsertPrimeScopeImportV2 |
dbo.primeExportsEndataScopeImport.W | dbo.primeExportsEndataScopeImport_stage.W | medium | dbo.spUpsertPrimeScopeImportV2 |
dbo.primeJobCustomField.jobId | dbo.primeJobs.Id | high | dbo.vPrimeSOM_Report_1, dbo.vPrimeSOM_Report_2 |
dbo.primeJobDateHistory.JobId | dbo.primeJobs.Id | high | dbo.spEthRepairlineJobDatesQueueTasks, dbo.spEthSedgwickJobDatesqueueTasks, dbo.spPrimeGetJobDates |
dbo.primeJobFilterTags.FilterTagId | dbo.ethKpiMeasures.JobFilterTagID | high | dbo.spEthKpiResultsActive, dbo.spEthKpiResultsActiveAll, dbo.spEthKpiResultsbyJobId |
dbo.primeJobFilterTags.JobId | dbo.primeJobs.Id | high | dbo.spEthKpiResultsActive, dbo.spEthKpiResultsActiveAll, dbo.spEthKpiResultsbyJobId |
dbo.primeJobs.AssignedId | dbo.primeUsers.id | high | dbo.vEthKpiResultsActive_Deprecated, dbo.vEthKpiResultsClosed_Deprecated, dbo.vEthKpiResults_Deprecated (+4 more) |
dbo.primeJobs.CaseManagerId | dbo.primeUsers.id | high | dbo.vPB_JobDim, dbo.VPrimeCompletiontimesObjectivedb, dbo.VPrimeEstimatorstagesEstimatorworkflowdb (+2 more) |
dbo.primeJobs.CatastropheCodeId | dbo.primeCatastropheCodes.Id | high | dbo.spEthKpiResultsActive, dbo.spEthKpiResultsActiveAll |
dbo.primeJobs.ClientId | dbo.primeContacts.id | high | dbo.VPrimeCompletiontimesObjectivedb, dbo.vprimeEstimatorQuoteConversions, dbo.vPrimeSalesinvoicesObjectivedb (+6 more) |
dbo.primeJobs.CustomerId | dbo.primeContacts.id | high | dbo.spMakeSafePhoneCallRelatedPrimeJobs, dbo.spPrimeGetJobContactRelationships |
dbo.primeJobs.EstimatorId | dbo.primeUsers.id | high | dbo.PrimeValidations, dbo.vEthKpiResultsActive_Deprecated, dbo.vEthKpiResultsClosed_Deprecated (+6 more) |
dbo.primeJobs.JobNumber | dbo.primeExportWIPUpdates.JobNumber | medium | dbo.vPrimeExportLatestWIPUpdate |
dbo.primeJobsLocation.jobID | dbo.ethKpiResultsActive.JobId | high | dbo.vEthActiveJobsLocation, dbo.vEthActiveJobsLocationVIC |
dbo.primeJobsLocation.jobID | dbo.ethBooking.primeJobID | high | dbo.vEthBookingLocations, dbo.vEthBookingLocationsQLD, dbo.vEthBookingLocationsVIC (+1 more) |
dbo.primeJobsLocation.jobID | dbo.primeJobs.Id | high | dbo.vEthBookingLocationsQLD, dbo.vEthBookingLocationsVIC, dbo.vOptimoRouteOrderLocationsQLD (+5 more) |
dbo.primeJobsLocation.jobID | dbo.optimoRouteOrder.primeJobID | high | dbo.vOptimoRouteOrderLocationsQLD, dbo.vOptimoRouteOrderLocationsVIC |
dbo.primeJobsLocationTask.jobID | dbo.primeJobs.Id | medium | dbo.spPrimeGetJobsLocationTaskQueue |
dbo.primeJobs.PerilId | dbo.primePerils.id | medium | dbo.spPrimeGetJobInformation |
dbo.primeJobs.PrimaryContactId | dbo.primeContacts.id | high | dbo.vOptimoRouteOrders, dbo.spMakesafeUpsertPhoneCallFromPrimeJob, dbo.spMCPGetPrimeJob (+5 more) |
dbo.primeJobs.State | dbo.ethBookingEstimatorSkill.State | medium | dbo.spEthBookingEstimatorJobDistanceQueue |
dbo.primeJobs.State | dbo.ethBookingOffice.State | medium | dbo.spOptimoRouteGetAppointmentQueue |
dbo.primeJobs.StatusId | dbo.primeStatuses.id | high | dbo.VPrimeCompletiontimesObjectivedb, dbo.VPrimeEstimatorstagesEstimatorworkflowdb, dbo.vprimeFinancialschedule_1_jobandinvoicedetails (+6 more) |
dbo.primeJobs.SupervisorId | dbo.primeUsers.id | high | dbo.vEthKpiResultsActive_Deprecated, dbo.vEthKpiResultsClosed_Deprecated, dbo.vEthKpiResults_Deprecated (+6 more) |
dbo.primeJobs.SupervisorId | dbo.ethKpiSupervisorType.supervisorId | high | dbo.vEthKpiResultsActive_Deprecated, dbo.vEthKpiResultsClosed_Deprecated, dbo.vEthKpiResults_Deprecated |
dbo.primeLockedEstimateCategories.CategoryID | dbo.primeLockedEstimateCategoryItems.CategoryID | high | dbo.vprimeFinancialschedule_2_estimates, dbo.spEndataEstimateUploads, dbo.spPrimeBuildLockedEstimatesThisYear (+1 more) |
dbo.primeLockedEstimates.EstimateID | dbo.primeLockedEstimateCategories.EstimateID | high | dbo.vprimeFinancialschedule_2_estimates, dbo.spEndataEstimateUploads, dbo.spPrimeBuildLockedEstimatesThisYear |
dbo.primeLockedEstimates.jobId | dbo.primeJobs.Id | high | dbo.VPrimeAllestimatevalueObjectivedb, dbo.vprimeFinancialschedule_2_estimates, dbo.vprimejobsthismonthObjectivedb (+4 more) |
dbo.primeMilestoneItemFirstValue.jobId | dbo.primeJobs.Id | high | dbo.spEthRepairlineJobDatesQueueTasks, dbo.spEthSedgwickJobDatesqueueTasks, dbo.spPrimeGetJobDates |
dbo.primeMilestoneItem.jobId | dbo.primeJobs.Id | high | dbo.spEthRepairlineJobDatesQueueTasks, dbo.spEthSedgwickJobDatesqueueTasks, dbo.spPrimeGetJobDates |
dbo.primeScheduleItem.ObjectId | dbo.primeWorkOrders.id | high | dbo.spPrimeGetWIPUpdatesWorksCompleted, dbo.spPrimeGetWIPUpdatesWorksInProgress, dbo.spPrimeGetWIPUpdatesWorksUpcoming |
dbo.primeSchedule.JobId | dbo.primeJobs.Id | high | dbo.spPrimeGetWIPUpdatesWorksCompleted, dbo.spPrimeGetWIPUpdatesWorksInProgress, dbo.spPrimeGetWIPUpdatesWorksUpcoming |
dbo.primeSchedule.ScheduleId | dbo.primeScheduleItem.ScheduleId | high | dbo.spPrimeGetWIPUpdatesWorksCompleted, dbo.spPrimeGetWIPUpdatesWorksInProgress, dbo.spPrimeGetWIPUpdatesWorksUpcoming |
dbo.primeSiteForms.jobId | dbo.primeJobs.Id | high | dbo.PrimeValidations, dbo.VPrimeValidations, dbo.spPrimePeerReviewformdetails |
dbo.primeSiteForms.siteFormId | dbo.primeSiteFormItems.siteFormId | high | dbo.PrimeValidations, dbo.VPrimeValidations, dbo.spPrimePeerReviewformdetails |
dbo.primeStatusHistories_Job.JobId | dbo.primeJobs.Id | high | dbo.vPB_JobDim, dbo.VPrimeCompletiontimesObjectivedb, dbo.VPrimeEstimatorstagesEstimatorworkflowdb (+4 more) |
dbo.primeStatusHistories_Job.JobId | dbo.primeEstimates.jobId | medium | dbo.vprimefirstquote |
dbo.primeStatusHistories_Job.NewStatusId | dbo.primeStatuses.id | medium | dbo.vPB_JobDim |
dbo.primeUsers.contactId | dbo.primeContacts.id | high | dbo.vOptimoRouteOrders, dbo.spEthBookingGetMissingEstimatorLocations, dbo.spEthGetBookingEstimatorLocations (+6 more) |
dbo.primeWorkOrderItems.workorderid | dbo.primeWorkOrders.id | medium | dbo.vprimeFinancialschedule_3_work_orders |
dbo.primeWorkOrderItems.workorderid | dbo.primeScheduleItem.ObjectId | high | dbo.spPrimeGetWIPUpdatesWorksCompleted, dbo.spPrimeGetWIPUpdatesWorksInProgress, dbo.spPrimeGetWIPUpdatesWorksUpcoming |
dbo.primeWorkOrders.assignedid | dbo.primeContacts.id | high | dbo.vprimeFinancialschedule_3_work_orders, dbo.vPrimeHomeOwnerWarrantyCheck, dbo.spOptimoRouteGetNotScheduledOrders (+2 more) |
dbo.primeWorkOrders.created_by | dbo.primeUsers.fullName | high | dbo.spOptimoRouteGetNotScheduledOrders, dbo.spOptimoRouteGetNotScheduledOrdersEmailQueue |
dbo.primeWorkOrders.jobid | dbo.primeJobs.Id | high | dbo.vprimeFinancialschedule_3_work_orders, dbo.vprimeSOMreport, dbo.vPrimeSOM_Report_6 (+1 more) |
eth* — Ethos extensions (booking, WIP, KPI, AI, tasks)
| From | To | Confidence | Evidence |
|---|---|---|---|
dbo.ethAIPrimeJobSummary.primeJobID | dbo.primeJobs.Id | high | dbo.spEthAIGetAllPrimeJobSummaries, dbo.spEthAIGetPrimeJobSummariesPaged, naming-convention |
dbo.ethAIPrimeJobSummary.primeJobID | dbo.ethBooking.primeJobID | medium | dbo.spEthBookingGet |
dbo.ethAppointmentDefinitionUser.AppointmentDefinitionId | dbo.ethAppointmentDefinition.AppointmentDefinitionId | medium | dbo.spEthAppointmentDefinitionsGet |
dbo.ethAppointmentDefinitionUser.PrimeUserId | dbo.primeUsers.id | low | naming-convention |
dbo.ethAppointmentInstance.PrimeAppointmentId | dbo.primeAppointments.id | low | naming-convention |
dbo.ethAppointmentInstance.PrimeUserId | dbo.primeUsers.id | low | naming-convention |
dbo.ethBookingAppointmentSkill.primeAppointmentTypeID | dbo.primeAppointmentType.id | low | naming-convention |
dbo.ethBookingEstimatorJobDistance.primeEstimatorUserID | dbo.ethBookingEstimatorSkill.primeEstimatorID | high | dbo.spEthBookingEstimatorJobDistanceQueue, dbo.spEthBookingGetAvailabilityDetails |
dbo.ethBookingEstimatorJobDistance.primeJobID | dbo.primeJobsLocation.jobID | medium | dbo.spEthBookingEstimatorJobDistanceQueue |
dbo.ethBookingEstimatorJobDistance.primeJobID | dbo.primeJobs.Id | low | naming-convention |
dbo.ethBookingEstimatorSkill.primeEstimatorID | dbo.primeUsers.id | high | dbo.vEthBookingAvailabilityDetails, dbo.spEthBookingEstimatorJobDistanceQueue, dbo.spEthBookingGetAvailabilityDetails (+6 more) |
dbo.ethBookingEstimatorSkill.State | dbo.ethBookingDaySlot.State | high | dbo.vEthBookingAvailabilityDetails, dbo.spEthBookingGetAvailabilityDetails |
dbo.ethBooking.primeAppointmentID | dbo.primeAppointments.id | high | dbo.spEthBookingGetChangedAppointments, dbo.spEthBookingGetOnBook, dbo.spEthBookingGetOnCancel (+2 more) |
dbo.ethBooking.primeAppointmentTypeID | dbo.primeAppointmentType.id | high | dbo.spEthBookingGetByCode, dbo.spEthBookingGetByID, dbo.spEthBookingGetByJobID (+1 more) |
dbo.ethBooking.primeAppointmentTypeID | dbo.ethBookingService.primeAppointmentTypeID | high | dbo.spEthBookingGetByCode, dbo.spEthBookingGetByID, dbo.spEthBookingGetByJobID |
dbo.ethBooking.primeContactID | dbo.primeContacts.id | high | dbo.spEthBookingGet, dbo.spEthBookingGetByCode, dbo.spEthBookingGetByID (+6 more) |
dbo.ethBooking.primeJobID | dbo.primeJobs.Id | high | dbo.vEthBookingCancelledByDays, dbo.vEthBookingPendingByDays, dbo.spEthBookingClear (+6 more) |
dbo.ethBooking.primeUserID | dbo.primeUsers.id | high | dbo.spEthBookingGet, dbo.spEthBookingGetByCode, dbo.spEthBookingGetByID (+2 more) |
dbo.ethBookingService.primeAppointmentTypeID | dbo.primeAppointmentType.id | high | dbo.spEthBookingGetAppointmentTypesByEstimator, naming-convention |
dbo.ethBookingService.SkillCode | dbo.ethBookingEstimatorSkill.SkillCode | medium | dbo.spEthBookingGetAppointmentTypesByEstimator |
dbo.ethECDHistory.JobID | dbo.primeJobs.Id | medium | dbo.spEthNexusECDQueueTasks |
dbo.ethFormSharingCode.PrimeContactID | dbo.primeContacts.id | low | naming-convention |
dbo.ethFormSharingCode.PrimeJobID | dbo.primeJobs.Id | low | naming-convention |
dbo.ethFormTriage.PrimeContactID | dbo.primeContacts.id | low | naming-convention |
dbo.ethFormTriage.PrimeJobID | dbo.primeJobs.Id | low | naming-convention |
dbo.ethGeoLocationStatus.primeContactID | dbo.primeContacts.id | low | naming-convention |
dbo.ethKpiJobInstance.JobID | dbo.primeJobs.Id | medium | dbo.vEthKpiResultsActive_Deprecated |
dbo.ethKpiJobInstance.JobID | dbo.ethKpiJobSummary.JobID | medium | dbo.vEthKpiResults_Deprecated |
dbo.ethKpiJobInstance.StatusName | dbo.primeStatuses.name | high | dbo.vEthKpiActiveJobs, dbo.vEthKpiClosedJobs |
dbo.ethKpiJobInstance.StatusName | dbo.ethKpiJobSummary.StatusName | medium | dbo.vEthKpiResults_Deprecated |
dbo.ethKpiJobSummary.JobID | dbo.primeJobs.Id | high | dbo.spEthKpiResultsActive, dbo.spEthKpiResultsActiveAll, dbo.spEthKpiResultsbyJobId |
dbo.ethKpiMeasures.StatusName | dbo.ethKpiJobInstance.StatusName | medium | dbo.vEthKpiResultsActive_Deprecated |
dbo.ethKpiMeasures.StatusName | dbo.ethKpiJobSummary.StatusName | high | dbo.vEthKpiResultsClosed_Deprecated, dbo.vEthKpiResults_Deprecated, dbo.spEthKpiResultsActive (+2 more) |
dbo.ethKpiResultsActive.JobId | dbo.primeJobs.Id | medium | dbo.vEthActiveJobsPostcodes |
dbo.ethKpiRole.StatusName | dbo.ethKpiJobSummary.StatusName | high | dbo.spEthKpiResultsActive, dbo.spEthKpiResultsActiveAll, dbo.spEthKpiResultsbyJobId |
dbo.ethKpiSupervisorType.supervisorId | dbo.primeUsers.id | medium | dbo.spMakesafeGetAllKpiSupervisorTypes |
dbo.ethListsFact.EndataTrades | dbo.ethTradeMatchupFact.ProposedTrade | medium | dbo.spGetEndataTradesMatchup |
dbo.EthPeerReviewStatus.JobNumber | dbo.primeJobs.JobNumber | medium | dbo.spEthPopulatePeerReviewStatus |
dbo.ethPrimeInvoiceUser.primeAccountsReceivableInvoicesId | dbo.primeAccountsReceivableInvoices.Id | low | naming-convention |
dbo.ethPrimeInvoiceUser.primeUserId | dbo.primeUsers.id | low | naming-convention |
dbo.ethTask.PrimeObjectID | dbo.primeJobs.Id | high | dbo.spEthAIPrimeUpsertJobSummaryQueue, dbo.spEthNexusECDQueueTasks, dbo.spEthRepairlineJobDatesQueueTasks (+1 more) |
dbo.ethTask.PrimeObjectID | dbo.ethBooking.primeJobID | high | dbo.spEthBookingGet, dbo.spEthTaskGetNextX |
dbo.ethWIPJobHidden.JobId | dbo.primeJobs.Id | high | dbo.vWIPApprovedCurrentWeekBySupervisor, dbo.vWIPUpdateBySupervisorandWeek, dbo.spEthWIPCaptureJobWeeklySnapshot |
dbo.ethWIPJobHidden.JobId | dbo.ethWIPJobWeeklySnapshot.PrimeJobId | high | dbo.vWIPUpdateCurrentWeekSummary, dbo.vWIPUpdateDrilldownByWeek |
dbo.ethWIPJobHistoryContacts.contactId | dbo.primeContacts.id | high | dbo.spEthWIPJobEmailGet, dbo.spEthWIPJobEmailQueue, dbo.spEthWIPJobEmailQueueAggregated |
dbo.ethWIPJobHistoryContacts.WIPJobHistoryID | dbo.ethWIPJobHistory.ID | high | dbo.spEthWIPJobClientNoteQueue, dbo.spEthWIPJobEmailGet, dbo.spEthWIPJobEmailQueue (+1 more) |
dbo.ethWIPJobHistory.JobId | dbo.primeJobs.Id | high | dbo.vWIPSkippedJobReasons, dbo.vwWIPSkippedJobReasons, dbo.spEthWIPJobClientNoteQueue (+3 more) |
dbo.ethWIPJobHistory.JobId | dbo.ethWIPJobWeeklySnapshot.PrimeJobId | medium | dbo.vwWIPSkippedJobReasons |
dbo.ethWIPJobHistory.SupervisorUserId | dbo.primeUsers.id | high | dbo.vWIPSkippedJobReasons, dbo.vwWIPSkippedJobReasons, dbo.spEthWIPJobClientNoteQueue (+5 more) |
dbo.ethWIPJobWeeklySnapshot.PrimeJobId | dbo.primeJobs.Id | high | dbo.vWIPUpdateDrilldownByWeek, dbo.spEthWIPCaptureJobWeeklySnapshot, naming-convention |
dbo.ethWIPJobWeeklySnapshot.StatusId | dbo.primeStatuses.id | high | dbo.vWIPUpdateDrilldownByWeek, dbo.vwWIPSkippedJobReasons |
endata* — Endata cost centres and locations
| From | To | Confidence | Evidence |
|---|---|---|---|
dbo.endataCostCentreDescriptions.CostCentreId | dbo.endataCostCentres.ID | medium | dbo.spSyncCostCentreDescriptions |
Other — makesafe, OptimoRoute, ElevenLabs, n8n, WIP export
| From | To | Confidence | Evidence |
|---|---|---|---|
dbo.elevenLabsConversations.MessageID | dbo.makesafeMessage.ID | high | dbo.spMakesafeGetAllMessages, dbo.spMakesafeGetMessagesPaged |
dbo.elevenLabsConversations.PhoneCallID | dbo.makesafePhoneCall.ID | high | dbo.vMakeSafePhonecalls, dbo.vMakeSafePhonecallsNoAlerts, dbo.spMakesafeGetAllPhoneCalls (+5 more) |
dbo.makesafeEventLog.ActionID | dbo.makesafeEventLogAction.ID | medium | dbo.spMakesafeGetAllEventLogs |
dbo.makesafeEventLog.UserID | dbo.makesafeUser.ID | medium | dbo.spMakesafeGetAllEventLogs |
dbo.makesafeMessage.ClaimNumber | dbo.primeJobs.ClientReference | high | dbo.spMakesafeGetAllMessages, dbo.spMakesafeGetMessagesPaged |
dbo.makesafeMessage.ClaimNumber | dbo.primeJobs.JobNumber | high | dbo.spMakesafeGetAllMessages, dbo.spMakesafeGetMessagesPaged |
dbo.makesafePhoneCall.AssignedUserID | dbo.makesafeUser.ID | high | dbo.vMakeSafePhonecalls, dbo.vMakeSafePhonecallsNoAlerts, dbo.spMakesafeGetActivePhoneCalls (+6 more) |
dbo.makesafePhoneCallLocation.PhoneCallID | dbo.makesafePhoneCall.ID | medium | dbo.spMakesafeGetPhoneCallbyID |
dbo.makesafePhoneCall.PrimeJobID | dbo.primeJobs.Id | high | dbo.vMakeSafePhonecalls, dbo.vMakeSafePhonecallsNoAlerts, dbo.spMakesafeGetGeoLocationPhoneCalls (+2 more) |
dbo.makesafePhoneCallTrade.PrimeContactID | dbo.primeContacts.id | high | dbo.spMakesafeGetPhoneCallTrades, dbo.spMakesafeSearchPhoneCallTrades, naming-convention |
dbo.makesafeSharingCode.PhoneCallID | dbo.makesafePhoneCall.ID | high | dbo.spMakesafeGetAllSharingCodes, dbo.spMakesafeGetPhoneCallbyCode |
dbo.makesafeSharingCode.PhoneCallID | dbo.makesafePhoneCallTrade.PhoneCallID | medium | dbo.spMakesafeGetPhoneCallTradeByCode |
dbo.makesafeSharingCode.PrimeContactID | dbo.primeContacts.id | high | dbo.spMakesafeGetAllSharingCodes, dbo.spMakesafeGetPhoneCallTradeByCode, naming-convention |
dbo.makesafeSharingCode.PrimeContactID | dbo.makesafePhoneCallTrade.PrimeContactID | medium | dbo.spMakesafeGetPhoneCallTradeByCode |
dbo.makesafeSMSMessage.FromUserID | dbo.makesafeUser.ID | high | dbo.spMakesafeGetAllSMSMessages, dbo.spMakesafeGetQueuedSMSMessages, dbo.spMakesafeGetQueuedSMSMessagesCount (+2 more) |
dbo.makesafeSMSMessage.ToUserID | dbo.makesafeUser.ID | high | dbo.spMakesafeGetAllSMSMessages, dbo.spMakesafeGetQueuedSMSMessages, dbo.spMakesafeGetQueuedSMSMessagesCount (+2 more) |
dbo.makesafeUserSchedule.UserID | dbo.makesafeUser.ID | high | dbo.spMakesafeGetActiveUserScheduleMobiles, dbo.spMakesafeGetAllUserSchedules, dbo.spMakesafeGetUserSchedule (+3 more) |
dbo.n8nExecutions.workflowId | dbo.n8nFlows.id | high | dbo.vN8nFlowExecutionRecent, dbo.vN8nFlowExecutionSummary, dbo.spN8nQueueEscalationFailedExecutions |
dbo.optimoRouteDriverDay.EstimatorID | dbo.primeUsers.id | high | dbo.vEthBookingAvailabilityDetails, dbo.vOptimoRouteDriverDay, dbo.spEthBookingGetAvailabilityDetails |
dbo.optimoRouteDriverDay.EstimatorID | dbo.ethBookingEstimatorSkill.primeEstimatorID | high | dbo.vOptimoRouteDriverDay, dbo.spEthBookingGetAvailability, dbo.spEthBookingGetAvailabilityByEstimator (+2 more) |
dbo.optimoRouteDriverDay.PlanDate | dbo.ethBookingDaySlot.Date | high | dbo.vEthBookingAvailabilityDetails, dbo.spEthBookingGetAvailability, dbo.spEthBookingGetAvailabilityByEstimator (+2 more) |
dbo.OptimoRouteLog.AppointmentID | dbo.primeAppointments.id | high | dbo.spOptimoRouteGetLogs, dbo.spOptimoRouteGetLogsPaged |
dbo.OptimoRouteLog.JobID | dbo.primeJobs.Id | high | dbo.spOptimoRouteGetLogs, dbo.spOptimoRouteGetLogsPaged |
dbo.OptimoRouteLog.UserID | dbo.primeUsers.id | high | dbo.spOptimoRouteGetLogs, dbo.spOptimoRouteGetLogsPaged |
dbo.optimoRouteOrder.bookingID | dbo.ethBooking.ID | high | dbo.spEthBookingGet, dbo.spOptimoRouteGetAllowAdvancedBookings |
dbo.optimoRouteOrder.NotScheduledVersion | dbo.optimoRouteOrder.Version | medium | dbo.spOptimoRouteSetNotScheduledOrdersEmailSent |
dbo.optimoRouteOrder.primeAppointmentID | dbo.primeAppointments.id | high | dbo.vOptimoRouteOrders, dbo.spOptimoRouteGetAllowAdvancedBookings, dbo.spOptimoRouteGetAppointmentCompletionQueue (+6 more) |
dbo.optimoRouteOrder.primeJobID | dbo.primeJobs.Id | high | dbo.spEthAIPrimeJobSummaryQueueUpdateApptTask, dbo.spOptimoRouteGetAppointmentCompletionQueue, dbo.spOptimoRouteGetAppointmentScheduledEstimatorQueue (+6 more) |
dbo.optimoRouteOrder.primeJobID | dbo.primeAppointments.jobId | medium | dbo.spOptimoRouteGetAppointmentQueue |
dbo.optimoRouteOrder.primeJobID | dbo.primeWorkOrders.jobid | medium | dbo.spOptimoRouteGetWorkOrderQueue |
dbo.optimoRouteOrder.primeWorkOrderID | dbo.primeWorkOrders.id | high | dbo.spOptimoRouteGetNotScheduledOrders, dbo.spOptimoRouteGetNotScheduledOrdersEmailQueue, dbo.spOptimoRouteGetWorkOrderQueue (+1 more) |
dbo.optimoRouteOrder.ScheduledEstimatorID | dbo.primeUsers.id | high | dbo.vOptimoRouteOrders, dbo.spEthBookingGet, dbo.spOptimoRouteGetNearbyJobs |
dbo.optimoRouteOrder.ScheduledEstimatorID | dbo.ethBookingEstimatorSkill.primeEstimatorID | medium | dbo.spEthBookingGetAvailabilityGeo |
dbo.optimoRouteOrder.Version | dbo.primeAppointments.version | medium | dbo.spOptimoRouteGetAppointmentQueue |
dbo.optimoRouteOrder.Version | dbo.primeWorkOrders.version | medium | dbo.spOptimoRouteGetWorkOrderQueue |
dbo.wipTextInstructions.jobStatus | dbo.primeStatusHistories_Job.NewStatus | medium | dbo.vPrimeExportLatestWIPUpdate |
Hub tables
Most-referenced targets (in-degree):
dbo.primeJobs— 40 inbound relationshipsdbo.primeUsers— 19 inbound relationshipsdbo.primeContacts— 18 inbound relationshipsdbo.primeExportsEndataScopeImport_stage— 14 inbound relationshipsdbo.primeAppointments— 6 inbound relationshipsdbo.primeWorkOrders— 6 inbound relationshipsdbo.ethBookingEstimatorSkill— 5 inbound relationshipsdbo.primeStatuses— 5 inbound relationshipsdbo.makesafeUser— 5 inbound relationshipsdbo.makesafePhoneCall— 4 inbound relationships

