BootstrapPreviewReportDto
Snapshot of what a bootstrap import would do, computed before any mutation.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
workersTotal | number | да | — |
clientsTotal | number | да | — |
workersToInsert | number | да | — |
workersToSkip | number | да | — |
clientsToInsert | number | да | — |
clientsToSkip | number | да | — |
matchedSingle | number | да | — |
matchedAmbiguous | number | да | — |
matchedSoftDeleted | number | да | — |
missingRequiredField | number | да | — |
loginCollisions | number | да | — |
loginDuplicatesInBatch | number | да | — |
assignmentsToCreate | number | да | Clients whose "zugeteilte Fee" resolves to exactly one worker with no existing assignment — a WorkerAssignment the apply will create. Preview estimate. |
assignmentsToReactivate | number | да | Clients whose assigned worker already has a non-InWork assignment that the apply will reactivate to InWork. Preview estimate. |
assignmentsToClose | number | да | Incremental sync only: active assignments the apply will close (zugeteilte Fee cleared or changed). 0 for bootstrap import. |
assignmentsAmbiguous | number | да | Clients whose "zugeteilte Fee" matches more than one worker by name — left for the operator, never auto-assigned. |
assignmentsUnmatched | number | да | Clients whose "zugeteilte Fee" matches no worker in the import. |
addressesRequested | number | да | — |
addressesResolved | number | да | — |
addressMisses | number | да | — |
estimatedAddressCacheHits | number | нет | Of the addresses resolved for this preview, how many came from the geocoding cache (no Google Places call). |
estimatedAddressApiCalls | number | нет | Address resolutions that needed a paid Google Places call (Autocomplete + Place Details), incl. misses. Note: this cost is spent while building the preview, not at apply. |
estimatedDistancePairs | number | да | Estimated client↔worker distance pairs this import would compute (dry-run, before approve). |
estimatedDistanceCacheHits | number | да | Of estimatedDistancePairs, how many are already cached. |
estimatedDistanceGoogleApiCalls | number | да | Of estimatedDistancePairs, how many would need a fresh (paid) Google Routes call. |
distanceEstimateReliable | boolean | да | False when the estimate could not be trusted (failed, or 0 pairs despite create/update work). The UI must not show the numbers as a reliable "0 Google calls" in that case. |
distanceEstimatePending | boolean | нет | True while the estimate is still being computed asynchronously (the figures above are not yet final). Poll GetSyncRequestStatus and watch estimateStage for live progress; the report is patched with the final figures when it reaches Done. |
estimatedMondayApiRequests | number | нет | Estimated number of Monday API calls the apply will consume (Business→Monday writes batch ≤30 per request; Monday→Business creates read one item each). ≈0 for Import (writes to the Business layer, not Monday). |
collisions | PreviewCollisionDto[] | да | — |
Пример
json
{
"workersTotal": 0,
"clientsTotal": 0,
"workersToInsert": 0,
"workersToSkip": 0,
"clientsToInsert": 0,
"clientsToSkip": 0,
"matchedSingle": 0,
"matchedAmbiguous": 0,
"matchedSoftDeleted": 0,
"missingRequiredField": 0,
"loginCollisions": 0,
"loginDuplicatesInBatch": 0,
"assignmentsToCreate": 0,
"assignmentsToReactivate": 0,
"assignmentsToClose": 0,
"assignmentsAmbiguous": 0,
"assignmentsUnmatched": 0,
"addressesRequested": 0,
"addressesResolved": 0,
"addressMisses": 0,
"estimatedAddressCacheHits": 0,
"estimatedAddressApiCalls": 0,
"estimatedDistancePairs": 0,
"estimatedDistanceCacheHits": 0,
"estimatedDistanceGoogleApiCalls": 0,
"distanceEstimateReliable": false,
"distanceEstimatePending": false,
"estimatedMondayApiRequests": 0,
"collisions": []
}