@bisondesk/core-sdk 1.0.678 → 1.0.680

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -401,6 +401,7 @@ export type HpLeasingDealRunDataCi = HpLeasingDealRunDataBase & {
401
401
  dueeDuLeasingEnMois: number;
402
402
  travauxHorsNormesNecessaire: boolean;
403
403
  descriptionDesTravauxHorsNormes: string;
404
+ prixTravaexSupplementaire: string;
404
405
  };
405
406
  export type HpLeasingDealRequest = {
406
407
  tenantId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"opportunities.d.ts","sourceRoot":"/","sources":["types/opportunities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opportunities.d.ts","sourceRoot":"/","sources":["types/opportunities.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"opportunities.js","sourceRoot":"/","sources":["types/opportunities.ts"],"names":[],"mappings":"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","sourcesContent":["import { Task } from '@bisondesk/commons-sdk/tasks';\nimport { Document, NextList } from '@bisondesk/commons-sdk/types';\nimport { BusinessEntityIds, OpportunityType, WarningHints } from '../constants.js';\nimport { Contact, Organization } from './crm.js';\nimport type { Interest, InterestBffMeta } from './interests.js';\nimport { BaseEvent } from './internal-events.js';\nimport { OpportunityPayment } from './opportunity-payments.js';\nimport { Quote, QuoteRecordMeta, QuoteStatus } from './quotes.js';\nimport { OpportunityReservation } from './reservations.js';\nimport { BaseSearchRequest, FieldId, PickFieldIds } from './search.js';\nimport { Transport } from './transports.js';\nimport { DataRecord, ReferenceData } from './utils.js';\nimport { Vehicle } from './vehicles.js';\n\nexport type ListOpportunitiesFilters = {\n offset?: number;\n limit?: number;\n organizationId?: string;\n contactId?: string;\n vehicleId?: string;\n vehicleIds?: string[];\n excludeOpportunityId?: string;\n excludeLost?: boolean;\n statuses?: OpportunityStatus[];\n since?: string;\n until?: string;\n};\n\nexport enum OpportunityActions {\n ADD_REMARKS = 'add_remarks',\n CREATE_QUOTE = 'create_quote',\n LOSE = 'lose',\n REOPEN = 'reopen',\n START_PREPARATION = 'start_preparation',\n REVERT_PREPARATION = 'revert_preparation',\n START_DELIVERY = 'start_delivery',\n REVERT_DELIVERY = 'revert_delivery',\n SET_CUSTOMER = 'set_customer',\n SET_DOCUMENTS = 'set_documents',\n SET_INTEREST = 'set_interest',\n SET_METADATA = 'set_metadata',\n SET_VEHICLE = 'set_vehicle',\n ADD_ACTIVITY = 'add_activity',\n ADD_PAYMENT = 'add_payment',\n SWITCH_VEHICLE = 'switch_vehicle',\n DELIVER_VEHICLE = 'deliver_vehicle',\n UNDO_DELIVER_VEHICLE = 'undo_deliver_vehicle',\n SET_DEAL_INFO = 'update_deal_info',\n ISSUE_INVOICE = 'issue_invoice',\n CREATE_MANUAL_SALES_INVOICE = 'create_manual_sales_invoice',\n}\n\nexport enum OpportunityPaymentStatus {\n PARTIAL_PAYMENT = 'partial_payment',\n FULL_PAYMENT = 'full_payment',\n NO_PAYMENT = 'no_payment',\n}\n\nexport enum OpportunityStatus {\n PROSPECTION = 'prospection',\n DISCOVERY = 'discovery',\n EVALUATION = 'evaluation',\n REVIEW = 'review',\n PREPARATION = 'preparation',\n DELIVERY = 'delivery',\n}\n\nexport const OpportunityStatusOrder: OpportunityStatus[] = [\n OpportunityStatus.PROSPECTION,\n OpportunityStatus.DISCOVERY,\n OpportunityStatus.EVALUATION,\n OpportunityStatus.REVIEW,\n OpportunityStatus.PREPARATION,\n OpportunityStatus.DELIVERY,\n];\n\nexport enum OpportunityRequirementsCode {\n VEHICLE_AT_ORIGIN = 'vehicle_at_origin',\n LEASING_SL_ACTION = 'sl_action',\n TECHNICAL_NOTES_CHANGED = 'technical_notes_changed',\n}\n\nexport enum OpportunityWarningsCode {\n QUOTE_PENDING_VALIDATION = 'quote_pending_validation',\n QUOTE_PEDING_MANAGER_APPROVAL = 'quote_pending_manager_approval',\n CONCURRENT_OPPORTUNITIES = 'concurrent_opportunities',\n VEHICLE_RESERVED = 'vehicle_reserved',\n OPPORTUNITY_NEEDS_SWITCH_VEHICLE = 'opportunity_needs_switch_vehicle',\n VEHICLE_RESERVED_DATE_INFO = 'vehicle_reserved_date_info',\n VEHICLE_RESERVED_INDEFINITELY = 'vehicle_reserved_indefinitely',\n QUOTE_MISSING_DELIVERY_DETAILS = 'quote_missing_delivery_details',\n VEHICLE_TECHNICAL_DETAILS_CHANGED = 'vehicle_technical_details_changed',\n QUOTE_MISSING_FINANCING_DETAILS = 'quote_missing_financing_details',\n VEHICLE_BRANCH_MISMATCH = 'vehicle_branch_mismatch',\n VEHICLE_UNAVAILABLE_AT_SOURCE = 'vehicle_unavailable_at_source',\n INTERCOMPANY_LINKED = 'intercompany_linked',\n INTERCOMPANY_SOURCE_OPPORTUNITY = 'intercompany_source_opportunity',\n INTERCOMPANY_SOURCE_UNRESERVED = 'intercompany_source_unreserved',\n}\n\nexport const OpportunityWonColumnId = 'closed_won';\n\nexport const OpportunityKanbanColumns = [...OpportunityStatusOrder, OpportunityWonColumnId];\n\nexport const OpportunityKanbanEndColumns: string[] = [OpportunityWonColumnId];\n\nexport enum OpportunityLostReasonValues {\n Expensive = 'expensive',\n AlreadySold = 'already_sold',\n BadExperience = 'bad_experience',\n IncorrectVehicleCondition = 'incorrect_vehicle_condition',\n NoStock = 'not_enough_stock',\n SlowDelivery = 'slow_delivery',\n HighDeposit = 'deposit_too_high',\n NoAnswer = 'client_not_answered',\n Automatic = 'automatic',\n LeasingDeal = 'sold-via-leasing',\n InvestmentPostponed = 'investment_postponed',\n /** The target-tenant deal released the vehicle (lost, or its reservation expired). */\n IntercompanyReleased = 'intercompany_released',\n}\n\ntype BaseBid = {\n vehicleId: string;\n opportunityId?: string;\n contactId: string;\n amount: string;\n};\n\nexport type NewBid = BaseBid & {};\n\nexport type Bid = BaseBid & {\n id: string;\n createdAt: string;\n createdBy: string;\n};\n\n/**\n * Provenance of a customer deal whose vehicle is fulfilled by a source-tenant intercompany\n * opportunity. Written only by the intercompany coordination\n * (cross-tenant-sync/ico-opportunities);\n * the link table at the source is its mirror. Powers deep links, the payments walk and\n * support digging — never availability decisions.\n */\nexport type OpportunityIntercompanyInfo = {\n sourceTenantId: string;\n sourceBranchId: string;\n sourceOpportunityId: string;\n sourceReservationId: string;\n};\n\ntype BaseOpportunity = {\n accountManager?: string;\n administrativePerson?: string;\n type: OpportunityType;\n organizationId?: string;\n contactId?: string;\n vehicleId?: string;\n source?: string; // e.g. website, autoscout, mobile...\n branch: string;\n inquiry?: string;\n branchCountry: string;\n intercompany?: OpportunityIntercompanyInfo;\n};\n\n// type, branch and branchCountry are optional: when omitted, the server defaults them\n// from the requester's preferred branches/opportunity types, then the tenant defaults.\nexport type NewOpportunity = Omit<BaseOpportunity, 'type' | 'branch' | 'branchCountry'> &\n Partial<Pick<BaseOpportunity, 'type' | 'branch' | 'branchCountry'>> & {\n id?: undefined;\n createdAt?: undefined;\n createdBy?: undefined;\n modifiedAt?: undefined;\n modifiedBy?: undefined;\n };\n\nexport enum VehicleSaleDealStatus {\n SaleAgreed = 'SALE_AGREED',\n FirstPaymentReceived = 'FIRST_PAYMENT_RECEIVED',\n FullPaymentReceived = 'FULL_PAYMENT_RECEIVED',\n}\n\nexport enum VehicleSaleLogisticsStatus {\n AtOrigin = 'AT_ORIGIN',\n Delivered = 'DELIVERED',\n}\n\nexport type Opportunity = BaseOpportunity & {\n id: string;\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n engagedAt?: string;\n engagedBy?: string;\n validatedAt?: string;\n validatedBy?: string;\n acceptedAt?: string;\n acceptedBy?: string;\n firstAcceptedAt?: string;\n lastActivityAt?: string; // last time we reached out to the customer, regardless of medium\n reviewedAt?: string;\n reviewedBy?: string;\n preparedAt?: string;\n preparedBy?: string;\n lastBidAt?: string;\n lostAt?: string;\n lostBy?: string;\n wonAt?: string;\n lostReason?: OpportunityLostReasonValues;\n deliveredAt?: string;\n deliveredBy?: string;\n deliveredMode?: 'CMR' | 'Action' | 'DeliveryConfirmation';\n saleDeliveryTransportEligibleAt?: string;\n status: OpportunityStatus;\n dealStatus?: VehicleSaleDealStatus;\n logisticStatus?: VehicleSaleLogisticsStatus;\n activeQuoteId?: string;\n amount?: string;\n documents?: Document[];\n leasingContractId?: string;\n internalLeasingContractId?: string;\n accountManagerAssistant?: string;\n requirementsOverride?: {\n [code: string]: { override: true; reason?: string; actionAt: string; actionBy: string };\n };\n};\n\nexport type OpportunityUpdate = {\n vehicleId?: string | null;\n accountManager?: string | null;\n accountManagerAssistant?: string | null;\n administrativePerson?: string | null;\n contactId?: string | null;\n activeQuoteId?: string | null;\n reviewed?: boolean;\n prepared?: boolean;\n lost?: boolean;\n delivered?: boolean;\n lostReason?: OpportunityLostReasonValues;\n documents?: Document[];\n branch?: string;\n branchCountry?: string;\n type?: OpportunityType;\n lastActivityAt?: string | null; // null gives the possibility to delete this field if all activities are deleted\n lastBidAt?: string;\n source?: string | null;\n requirementsOverride?: {\n [code: string]: { override: true; reason?: string; actionAt: string; actionBy: string };\n };\n};\n\nexport type OpportunityPaymentSummary = {\n total: string;\n paid: string;\n entries: DataRecord<OpportunityPayment>[];\n};\n\n/** @deprecated Renamed to {@link OpportunityPaymentSummary}. */\nexport type PaymentSummary = OpportunityPaymentSummary;\n\nexport type VehicleBffMetadata = {\n openOpportunities: number;\n otherRelatedVehicleIds: string[];\n};\n\nexport type OpportunityStatusRequirement = { code: OpportunityRequirementsCode; title?: string };\n\ntype OportunityWarningActionLink = {\n businessEntityId: BusinessEntityIds;\n recordId: string;\n /**\n * Absolute URL, set only when the record lives at another tenant — in-app routing cannot\n * reach it, so the client opens it in a new tab. Same shape the intercompany payments walk\n * already hands the client (ADR-0024's `opportunityUrl`).\n */\n url?: string;\n};\n\ntype OportunityWarningActionData = { [key: string]: string | number };\n\nexport type OpportunityWarning = {\n code: OpportunityWarningsCode;\n level: WarningHints;\n link?: OportunityWarningActionLink;\n data?: OportunityWarningActionData;\n showAction?: boolean;\n};\n\nexport enum OpportunityActionBlockerCode {\n MISSING_CUSTOMER = 'missing_customer',\n VEHICLE_BRANCH_MISMATCH = 'vehicle_branch_mismatch',\n MINIMUM_PAYMENT_MISSING = 'minimum_payment_missing',\n MISSING_FINANCING = 'missing_financing',\n BLOCKING_TASKS = 'blocking_tasks',\n}\n\nexport type OpportunityActionBlocker = {\n code: OpportunityActionBlockerCode;\n data?: OportunityWarningActionData;\n};\n\n/**\n * Why an action the user would otherwise expect to see is refused right now. Only actions whose\n * remaining conditions the user can act on are listed: a wrong status or a missing role hides the\n * action instead, as before.\n */\nexport type OpportunityBlockedAction = {\n action: OpportunityActions;\n reasons: OpportunityActionBlocker[];\n};\n\nexport type OpportunityBffMeta = ReferenceData & {\n requirements: OpportunityStatusRequirement[];\n warnings: OpportunityWarning[];\n blockedActions: OpportunityBlockedAction[];\n};\n\nexport type ContactMetdata = {\n openOpportunities: number;\n};\n\nexport type OpportunityBFF = {\n opportunity: DataRecord<Opportunity, OpportunityBffMeta>;\n vehicle?: DataRecord<Vehicle, VehicleBffMetadata>;\n interest?: DataRecord<Interest, InterestBffMeta>;\n bids: DataRecord<Bid>[];\n /** Every quote the deal has ever had; the ones it has left carry `meta.archived`. */\n quotes: DataRecord<Quote, QuoteRecordMeta>[];\n activeQuote?: DataRecord<Quote, QuoteRecordMeta>;\n payments: OpportunityPaymentSummary | undefined;\n reservation?: DataRecord<OpportunityReservation>;\n tasks: DataRecord<Task>[];\n customer?: {\n contact: DataRecord<Contact, ContactMetdata>;\n org?: DataRecord<Organization>;\n };\n transport?: Transport;\n};\n\ntype BaseOpportunityEvent = BaseEvent & {\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\nexport type OpportunityCreateEvent = BaseOpportunityEvent & {\n opportunity: Opportunity;\n previousOpportunity?: undefined;\n action: 'create';\n};\n\nexport type OpportunityUpdateEvent = BaseOpportunityEvent & {\n opportunity: Opportunity;\n previousOpportunity: Opportunity;\n action: 'update';\n};\n\nexport type OpportunityEvent = OpportunityCreateEvent | OpportunityUpdateEvent;\n\nexport type QuoteEvent = {\n quote: Quote;\n opportunity: Opportunity;\n action: 'create' | 'update';\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\n/* Quote summary with information that should be common to different types of quotes */\nexport type QuoteInfo = {\n status: QuoteStatus;\n roi: string;\n id: string;\n // Leasing-only metrics, denormalized from the active leasing quote so the leasing report\n // can take medians without re-reading each quote. Absent on non-leasing quotes.\n /** Leasing term in months (`calculatorInput.leasing.duration`). */\n durationMonths?: number;\n /** Yearly ROI as a percentage 0–100 (`calculatorOutput.roi.perYear`). */\n roiPerYear?: number;\n /** Advance (deposit) as a percentage 0–100 (`calculatorInput.leasing.depositPercentage`). */\n advancePercentage?: number;\n};\n\nexport type SearchOpportunity = {\n contact?: Contact;\n opportunity: Opportunity;\n org?: Organization;\n vehicle?: Vehicle;\n transport?: Transport;\n quote?: QuoteInfo;\n custom: {\n groupKey: string;\n web2Lead: boolean;\n payment: { status: OpportunityPaymentStatus; percentagePaid: string };\n unassigned: boolean;\n lost: boolean;\n assignees: string[];\n accountManagers: string[];\n vehicleCheckedIn: boolean;\n status: OpportunityStatus | 'won';\n // Denormalized at indexing time from VehiclePurchase.log.checkedInAt so the opp index\n // can answer \"how long has this vehicle been visible on the website\" without joining.\n checkedInAt?: string;\n // Calendar days from min(marketingAt, evaluationAt, purchaseAgreedAt) until validatedAt.\n // Mirrors `daysInVirtualInventory` on the vehicle Business Overview page.\n daysAvailable?: number;\n // Operational supplier for reporting. For SLB clones this is the source vehicle supplier,\n // not the bank supplier on the clone purchase.\n realSupplierId?: string;\n // Branch of the associated vehicle, coalesced from the synced original branch then the\n // local branch — mirrors the vehicle index `custom.originalBranchId` facet.\n originalBranchId?: string;\n };\n};\n\nexport const QUOTE_NEEDS_VALIDATION_NOTIFICATION_ORIGIN = 'quote-validation';\nexport const QUOTE_NOT_CREATED_BY_ACCOUNT_MANAGER = 'quote-not-created-by-account-manager';\nexport const QUOTE_VALIDATOR_FEEDBACK_NOTIFICATION_ORIGIN = 'quote-validation-feedback';\n\nexport const OPPORTUNITY_ASSIGNED_NOTIFICATION_ORIGIN = 'opportunity-assigned';\nexport const OPPORTUNITY_VEHICLE_AVAILABLE_NOTIFICATION_ORIGIN = 'opportunity-vehicle-available';\nexport const OPPORTUNITY_VEHICLE_DELIVERY_NOTIFICATION_ORIGIN = 'opportunity-vehicle-delivery';\nexport const OPPORTUNITY_VEHICLE_RESERVATION_ABOUT_TO_EXPIRE_NOTIFICATION_ORIGIN =\n 'opportunity-vehicle-reservation-to-expire';\nexport const OPPORTUNITY_VEHICLE_RESERVATION_EXPIRED_NOTIFICATION_ORIGIN =\n 'opportunity-vehicle-reservation-expired';\nexport const INTERCOMPANY_OPPORTUNITY_RELEASED_NOTIFICATION_ORIGIN =\n 'intercompany-opportunity-released';\n\nexport const OFFER_SET_FINAL_VALUATION_ORIGIN = 'offer-set-final-valuation';\n\nexport const VEHICLE_PRICE_DECREASES_NOTIFICATION_ORIGIN = 'vehicle-price-decreased';\nexport const VEHICLE_ARRIVED_NOTIFICATION_ORIGIN = 'vehicle-arrived';\nexport const VEHICLE_CHECKEDIN_NOTIFICATION_ORIGIN = 'vehicle-checkedin';\nexport const VEHICLE_FULLY_PAID_NOTIFICATION_ORIGIN = 'vehicle-fully-paid';\nexport const VEHICLE_PURCHASED_NOTIFICATION_ORIGIN = 'vehicle-purchased';\nexport const VEHICLE_PRICE_CHANGED_NOTIFICATION_ORIGIN = 'vehicle-price-changed';\nexport const VEHICLE_SOLD_NOTIFICATION_ORIGIN = 'vehicle-sold';\n\nexport type OpportunityNotificationData = {\n quoteVersion?: number;\n snippet?: string;\n};\n\n/**\n * The fields of an opportunity that the kanban board's cards show. The kanban search returns\n * only these, so a card reading a field outside this list gets nothing.\n */\nexport const KANBAN_OPPORTUNITY_ITEM_FIELDS = [\n 'opportunity.id',\n 'opportunity.status',\n 'opportunity.amount',\n 'opportunity.accountManager',\n 'opportunity.accountManagerAssistant',\n 'opportunity.administrativePerson',\n 'opportunity.createdAt',\n 'opportunity.acceptedAt',\n 'opportunity.reviewedAt',\n 'opportunity.deliveredAt',\n 'opportunity.lastActivityAt',\n 'opportunity.lostAt',\n 'custom.web2Lead',\n 'custom.payment.percentagePaid',\n 'org.id',\n 'org.name',\n 'org.countryCode',\n 'contact.id',\n 'contact.firstName',\n 'contact.lastName',\n 'contact.countryCode',\n 'vehicle.id',\n 'vehicle.internal.identification.stockNumber',\n 'vehicle.internal.identification.administrativeNumber',\n 'vehicle.internal.description.title',\n 'vehicle.external.mainPicture.url',\n 'transport.status',\n] as const satisfies readonly FieldId<SearchOpportunity>[];\n\n/** An opportunity on the kanban board: its search document cut down to the card's fields. */\nexport type KanbanOpportunityItem = PickFieldIds<\n SearchOpportunity,\n (typeof KANBAN_OPPORTUNITY_ITEM_FIELDS)[number]\n>;\n\nexport type KanbanOpportunityGroup = {\n items: KanbanOpportunityItem[];\n};\n\nexport type OpportunitiesKanbanColumn = {\n status: string;\n results: KanbanOpportunityItem[];\n groups?: KanbanOpportunityGroup[];\n totalCount: number;\n totalValue: string;\n};\n\nexport type MSearchOpportunitiesKanbanColumn = {\n column: OpportunitiesKanbanColumn;\n nextToken?: string;\n};\n\ntype HpLeasingDealRunDataBase = {\n bisondeskTenantId: string;\n entityOwner: string;\n opportunityId: string;\n};\n\n// Field ids match the hpaci (Mr Lease CI) leasing-deal process definition: the LD is the only\n// Hyperportal process for that tenant (no C flow) and the contract document lives in BisonDesk.\nexport type HpLeasingDealRunDataCi = HpLeasingDealRunDataBase & {\n client?: string;\n vendeur?: string;\n vehicule?: string;\n plaqueDimmatriculation?: string;\n numeroDeContratLeasing: string;\n dateDeDebutDuContrat?: number;\n prixDeVenteHorsTvaXof: string;\n montantDavanceTtcXof: string;\n depotDeGarantieXof?: string;\n dueeDuLeasingEnMois: number;\n travauxHorsNormesNecessaire: boolean;\n descriptionDesTravauxHorsNormes: string;\n};\n\nexport type HpLeasingDealRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: HpLeasingDealRunDataDefault | HpLeasingDealRunDataCi;\n};\n\nexport type HpLeasingDealRunDataDefault = HpLeasingDealRunDataBase & {\n leasingContractOwner?: string;\n foreseenDeliveryDate?: string;\n deliveryAddressLeasing?: string;\n nameSalesPerson: string;\n durationLeasingInMonths: number;\n vanCourier: boolean;\n newVehicle?: boolean;\n newTrailer?: boolean;\n registrationOnTtcoBe?: boolean;\n externalDelivery?: boolean;\n civilLiabilities?: boolean;\n specialTechnicalInsurance?: boolean;\n allRisks?: boolean;\n roadAssistance?: boolean;\n vabAssistanceVan?: boolean;\n yearOfConstruction?: number;\n chassisnumber?: string;\n vehicleModel?: string;\n vehicleCategory2?: string;\n licencePlate?: string;\n vatPercentage?: number;\n\n opportunityContractId: string;\n\n company?: string;\n customerNumber?: number; //bisondesk external id\n slbPartner?: string;\n //MrLease fields\n vehicle?: string;\n vehicleNewReferenceMl?: string;\n referencePurchaserTtcoKleyn?: string;\n salesPriceEur: string;\n depositFullAmountExclVat: string;\n depositToBePrepaidExclVat: string;\n vehicleMake3?: string;\n\n //TTC fields\n vehicleOriginalReference?: string;\n salesPrice: string;\n depositFullAmount: string;\n depositAmountToBePrepaid: string;\n make?: string;\n\n //Extras\n garageExtrasCodes: string[];\n allExtrasDescriptions: string[];\n administrationExtrasCodes: string[];\n logisticExtrasCodes: string[];\n customRequestDescriptions: string[];\n};\n\nexport type HpLeasingDealResponse = {\n entityId: string;\n id: string;\n status: string;\n leasingContractNumber?: string;\n};\n\nexport type HpLeasingContractRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n bisondeskTenantId: string;\n entityOwner: string;\n leasingContractOwner?: string;\n totalLeasingAmount: string;\n company?: string;\n vehicle?: string;\n ldNumber: number;\n vanCourier: boolean;\n startDate: number;\n opportunityContractId: string;\n maxKmPerYear?: number;\n data: {\n leasingParameter: {\n allRisksPercentage: number;\n allRisksTaxPercentage: number;\n civilLiability: number;\n entityId: string;\n oneTimeRoadTax: number;\n specialInsurance: number;\n yearlyRoadTax: number;\n countries: string[];\n vehicleCategory: string;\n };\n\n calculatorRequest: {\n bankDeposit: number;\n bankDurationInMonths: number;\n bankInterestRatePercentage: number;\n bankResidualValue: number;\n deposit: number;\n durationInMonths: number;\n includesAllRisks: boolean;\n includesCivilLiability: boolean;\n includesOneTimeRoadTax: boolean;\n includesSpecialInsurance: boolean;\n includesYearlyRoadTax: boolean;\n insuranceAmount: number;\n interestRatePercentage: number;\n marginPercentage: number;\n monthlyAdministrationFee: 0;\n purchasePrice: number;\n residualValue: number;\n salesPrice: number;\n startupFeePercentage: number;\n };\n\n calculatorResponse: {\n ROI: number;\n ROIDifference: number;\n ROIPerYear: number;\n ROITarget: number;\n allRisksInsuranceAmount: number;\n bankContractValue: number;\n bankLeasingAmount: number;\n cashDeficit: number;\n financingAmount: number;\n leasingAmount: number;\n leasingContractValue: number;\n leasingProfit: number;\n monthlyTaxRetailPrice: number;\n oneTimeTaxCost: number;\n totalMonthlyPayment: number;\n totalProfit: number;\n vehicleProfit: number;\n };\n\n cashInValues: CashInRow[];\n\n cashOutValues: CashOutRow[];\n };\n };\n};\n\nexport type HpLeasingContractResponse = {\n entityId: string;\n id: string;\n status: string;\n createdAt: string;\n updatedAt: string;\n dateOfFinalSettlement: string;\n startDate: string;\n email: string;\n contractNumber: string;\n};\n\nexport type HpLeasingDealReturnRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n bisondeskTenantId: string;\n entityOwner: string;\n leasingContractNumber2: string;\n leasingContractNumber: string;\n opportunityContractId: string;\n company: string;\n vehicle: string;\n };\n};\n\nexport type HpLeasingDealEndRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n bisondeskTenantId: string;\n entityOwner: string;\n leasingContractOwner: string;\n vehicleOldReference: string;\n leasingContractNumber: string;\n company: string;\n vehicleNewReference: string;\n };\n};\n\nexport type CashInRow = {\n time: number;\n deposit: number;\n monthlyAdministrationFee: 0; //Legacy field - Should always be 0\n residualValue: number;\n startupFee: number;\n leasingAmountWithoutAdminFee: number;\n insurancePayment: number;\n taxPayment: number;\n cashIn: number;\n cumulativeCash: number;\n};\n\nexport type CashOutRow = {\n time: number;\n deposit: number;\n residualValue: number;\n leasingAmount: number;\n insurancePayment: number;\n taxPayment: number;\n cashOut: number;\n cumulativeCash: number;\n};\n\nexport type HpDeliveryFields = {\n detailsOfStacking?: string | null;\n technicalControlNeeded: boolean | null;\n\n //PickUP Delivery\n urgentDelivery?: boolean | null;\n dateOfPickUpByCustomer?: number | null;\n modeOfTransportPickUpByCustomer?: string | null; //entity Id\n detailsOfBorderCrossing?: string | null;\n insuranceNeeded: boolean | null;\n transitPlateNeeded: boolean | null;\n licensePlateNeeded: boolean | null;\n\n //Address Delivery\n address?: string | null;\n kmToAddressOfDelivery?: number | null;\n\n //To Port Delivery\n originPortText?: string | null; //entity Id\n shippingCompany?: string | null; //string Id\n destinationPort?: string | null;\n cleaningDegassingNeeded: boolean | null;\n};\n\nexport type HpIsaProcessRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: HpDeliveryFields & {\n entityOwner: string;\n nameSalesPerson: string;\n\n company?: string; //entityId\n proofOfSaleCustomerAgreement?: string; //entityId\n\n vehicle?: string; //entityId\n bodywork?: string; //entityId\n vehicleCategory: string; //entityId\n\n amountOfCommissionPaid: number;\n opportunityId: string;\n deliveryType: string; //entity Id\n directDelivery?: boolean | null;\n directDeliveryReason?: string | null;\n agreedPrice?: string;\n\n //Extras\n garageExtrasCodes: string[];\n logisticsExtrasCodes: string[];\n administrationExtrasCodes: string[];\n allExtrasDescriptions: string[];\n customRequestDescriptions: string[];\n infoSpoiler: string; // entity Id\n };\n};\n\nexport type HpIsaProcessResponse = {\n entityId: string;\n id: string;\n status: string;\n};\n\nexport type HpWorkOrderProcessRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n entityOwner: string;\n\n opportunityId: string;\n\n //Extras\n garageExtrasCodes: string[];\n allExtrasDescriptions: string[];\n\n customerRequestDescriptions: string[];\n directDeliveryReason?: string | null;\n salesPerson: string; // entityId\n customerName: string;\n referenceNumber: string;\n make?: string; //entityId\n typeTrailer?: string; //entityId\n\n vinNumber?: string;\n foreseenArrivalDateTrailer?: string;\n deadlineRequest?: number;\n locationVehicle2?: string; //entityId\n customer: string; //entityId\n vehicle: string; //entityId\n trailerHasBeenCheckedIn: boolean;\n deliveryDetails?: string | null;\n technicalInspectionNeeded: boolean | null;\n adr: boolean | null;\n };\n};\n\nexport type HpWorkOrderProcessResponse = {\n entityId: string;\n id: string;\n status: string;\n};\n\nexport type SwitchOpportunityVehicleRequest = {\n opportunity: Opportunity;\n newVehicleId: string;\n};\n\nexport type KanbanOpportunitiesSearchRequest = BaseSearchRequest & {\n nextTokens?: Record<string, string | undefined>;\n groupByClient?: boolean;\n};\n\nexport type KanbanOpportunitiesNextList = Omit<\n NextList<OpportunitiesKanbanColumn, ReferenceData>,\n 'nextToken'\n> & {\n nextTokens?: Record<string, string | undefined>;\n};\n"]}
1
+ {"version":3,"file":"opportunities.js","sourceRoot":"/","sources":["types/opportunities.ts"],"names":[],"mappings":"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","sourcesContent":["import { Task } from '@bisondesk/commons-sdk/tasks';\nimport { Document, NextList } from '@bisondesk/commons-sdk/types';\nimport { BusinessEntityIds, OpportunityType, WarningHints } from '../constants.js';\nimport { Contact, Organization } from './crm.js';\nimport type { Interest, InterestBffMeta } from './interests.js';\nimport { BaseEvent } from './internal-events.js';\nimport { OpportunityPayment } from './opportunity-payments.js';\nimport { Quote, QuoteRecordMeta, QuoteStatus } from './quotes.js';\nimport { OpportunityReservation } from './reservations.js';\nimport { BaseSearchRequest, FieldId, PickFieldIds } from './search.js';\nimport { Transport } from './transports.js';\nimport { DataRecord, ReferenceData } from './utils.js';\nimport { Vehicle } from './vehicles.js';\n\nexport type ListOpportunitiesFilters = {\n offset?: number;\n limit?: number;\n organizationId?: string;\n contactId?: string;\n vehicleId?: string;\n vehicleIds?: string[];\n excludeOpportunityId?: string;\n excludeLost?: boolean;\n statuses?: OpportunityStatus[];\n since?: string;\n until?: string;\n};\n\nexport enum OpportunityActions {\n ADD_REMARKS = 'add_remarks',\n CREATE_QUOTE = 'create_quote',\n LOSE = 'lose',\n REOPEN = 'reopen',\n START_PREPARATION = 'start_preparation',\n REVERT_PREPARATION = 'revert_preparation',\n START_DELIVERY = 'start_delivery',\n REVERT_DELIVERY = 'revert_delivery',\n SET_CUSTOMER = 'set_customer',\n SET_DOCUMENTS = 'set_documents',\n SET_INTEREST = 'set_interest',\n SET_METADATA = 'set_metadata',\n SET_VEHICLE = 'set_vehicle',\n ADD_ACTIVITY = 'add_activity',\n ADD_PAYMENT = 'add_payment',\n SWITCH_VEHICLE = 'switch_vehicle',\n DELIVER_VEHICLE = 'deliver_vehicle',\n UNDO_DELIVER_VEHICLE = 'undo_deliver_vehicle',\n SET_DEAL_INFO = 'update_deal_info',\n ISSUE_INVOICE = 'issue_invoice',\n CREATE_MANUAL_SALES_INVOICE = 'create_manual_sales_invoice',\n}\n\nexport enum OpportunityPaymentStatus {\n PARTIAL_PAYMENT = 'partial_payment',\n FULL_PAYMENT = 'full_payment',\n NO_PAYMENT = 'no_payment',\n}\n\nexport enum OpportunityStatus {\n PROSPECTION = 'prospection',\n DISCOVERY = 'discovery',\n EVALUATION = 'evaluation',\n REVIEW = 'review',\n PREPARATION = 'preparation',\n DELIVERY = 'delivery',\n}\n\nexport const OpportunityStatusOrder: OpportunityStatus[] = [\n OpportunityStatus.PROSPECTION,\n OpportunityStatus.DISCOVERY,\n OpportunityStatus.EVALUATION,\n OpportunityStatus.REVIEW,\n OpportunityStatus.PREPARATION,\n OpportunityStatus.DELIVERY,\n];\n\nexport enum OpportunityRequirementsCode {\n VEHICLE_AT_ORIGIN = 'vehicle_at_origin',\n LEASING_SL_ACTION = 'sl_action',\n TECHNICAL_NOTES_CHANGED = 'technical_notes_changed',\n}\n\nexport enum OpportunityWarningsCode {\n QUOTE_PENDING_VALIDATION = 'quote_pending_validation',\n QUOTE_PEDING_MANAGER_APPROVAL = 'quote_pending_manager_approval',\n CONCURRENT_OPPORTUNITIES = 'concurrent_opportunities',\n VEHICLE_RESERVED = 'vehicle_reserved',\n OPPORTUNITY_NEEDS_SWITCH_VEHICLE = 'opportunity_needs_switch_vehicle',\n VEHICLE_RESERVED_DATE_INFO = 'vehicle_reserved_date_info',\n VEHICLE_RESERVED_INDEFINITELY = 'vehicle_reserved_indefinitely',\n QUOTE_MISSING_DELIVERY_DETAILS = 'quote_missing_delivery_details',\n VEHICLE_TECHNICAL_DETAILS_CHANGED = 'vehicle_technical_details_changed',\n QUOTE_MISSING_FINANCING_DETAILS = 'quote_missing_financing_details',\n VEHICLE_BRANCH_MISMATCH = 'vehicle_branch_mismatch',\n VEHICLE_UNAVAILABLE_AT_SOURCE = 'vehicle_unavailable_at_source',\n INTERCOMPANY_LINKED = 'intercompany_linked',\n INTERCOMPANY_SOURCE_OPPORTUNITY = 'intercompany_source_opportunity',\n INTERCOMPANY_SOURCE_UNRESERVED = 'intercompany_source_unreserved',\n}\n\nexport const OpportunityWonColumnId = 'closed_won';\n\nexport const OpportunityKanbanColumns = [...OpportunityStatusOrder, OpportunityWonColumnId];\n\nexport const OpportunityKanbanEndColumns: string[] = [OpportunityWonColumnId];\n\nexport enum OpportunityLostReasonValues {\n Expensive = 'expensive',\n AlreadySold = 'already_sold',\n BadExperience = 'bad_experience',\n IncorrectVehicleCondition = 'incorrect_vehicle_condition',\n NoStock = 'not_enough_stock',\n SlowDelivery = 'slow_delivery',\n HighDeposit = 'deposit_too_high',\n NoAnswer = 'client_not_answered',\n Automatic = 'automatic',\n LeasingDeal = 'sold-via-leasing',\n InvestmentPostponed = 'investment_postponed',\n /** The target-tenant deal released the vehicle (lost, or its reservation expired). */\n IntercompanyReleased = 'intercompany_released',\n}\n\ntype BaseBid = {\n vehicleId: string;\n opportunityId?: string;\n contactId: string;\n amount: string;\n};\n\nexport type NewBid = BaseBid & {};\n\nexport type Bid = BaseBid & {\n id: string;\n createdAt: string;\n createdBy: string;\n};\n\n/**\n * Provenance of a customer deal whose vehicle is fulfilled by a source-tenant intercompany\n * opportunity. Written only by the intercompany coordination\n * (cross-tenant-sync/ico-opportunities);\n * the link table at the source is its mirror. Powers deep links, the payments walk and\n * support digging — never availability decisions.\n */\nexport type OpportunityIntercompanyInfo = {\n sourceTenantId: string;\n sourceBranchId: string;\n sourceOpportunityId: string;\n sourceReservationId: string;\n};\n\ntype BaseOpportunity = {\n accountManager?: string;\n administrativePerson?: string;\n type: OpportunityType;\n organizationId?: string;\n contactId?: string;\n vehicleId?: string;\n source?: string; // e.g. website, autoscout, mobile...\n branch: string;\n inquiry?: string;\n branchCountry: string;\n intercompany?: OpportunityIntercompanyInfo;\n};\n\n// type, branch and branchCountry are optional: when omitted, the server defaults them\n// from the requester's preferred branches/opportunity types, then the tenant defaults.\nexport type NewOpportunity = Omit<BaseOpportunity, 'type' | 'branch' | 'branchCountry'> &\n Partial<Pick<BaseOpportunity, 'type' | 'branch' | 'branchCountry'>> & {\n id?: undefined;\n createdAt?: undefined;\n createdBy?: undefined;\n modifiedAt?: undefined;\n modifiedBy?: undefined;\n };\n\nexport enum VehicleSaleDealStatus {\n SaleAgreed = 'SALE_AGREED',\n FirstPaymentReceived = 'FIRST_PAYMENT_RECEIVED',\n FullPaymentReceived = 'FULL_PAYMENT_RECEIVED',\n}\n\nexport enum VehicleSaleLogisticsStatus {\n AtOrigin = 'AT_ORIGIN',\n Delivered = 'DELIVERED',\n}\n\nexport type Opportunity = BaseOpportunity & {\n id: string;\n createdAt: string;\n createdBy: string;\n modifiedAt: string;\n modifiedBy: string;\n engagedAt?: string;\n engagedBy?: string;\n validatedAt?: string;\n validatedBy?: string;\n acceptedAt?: string;\n acceptedBy?: string;\n firstAcceptedAt?: string;\n lastActivityAt?: string; // last time we reached out to the customer, regardless of medium\n reviewedAt?: string;\n reviewedBy?: string;\n preparedAt?: string;\n preparedBy?: string;\n lastBidAt?: string;\n lostAt?: string;\n lostBy?: string;\n wonAt?: string;\n lostReason?: OpportunityLostReasonValues;\n deliveredAt?: string;\n deliveredBy?: string;\n deliveredMode?: 'CMR' | 'Action' | 'DeliveryConfirmation';\n saleDeliveryTransportEligibleAt?: string;\n status: OpportunityStatus;\n dealStatus?: VehicleSaleDealStatus;\n logisticStatus?: VehicleSaleLogisticsStatus;\n activeQuoteId?: string;\n amount?: string;\n documents?: Document[];\n leasingContractId?: string;\n internalLeasingContractId?: string;\n accountManagerAssistant?: string;\n requirementsOverride?: {\n [code: string]: { override: true; reason?: string; actionAt: string; actionBy: string };\n };\n};\n\nexport type OpportunityUpdate = {\n vehicleId?: string | null;\n accountManager?: string | null;\n accountManagerAssistant?: string | null;\n administrativePerson?: string | null;\n contactId?: string | null;\n activeQuoteId?: string | null;\n reviewed?: boolean;\n prepared?: boolean;\n lost?: boolean;\n delivered?: boolean;\n lostReason?: OpportunityLostReasonValues;\n documents?: Document[];\n branch?: string;\n branchCountry?: string;\n type?: OpportunityType;\n lastActivityAt?: string | null; // null gives the possibility to delete this field if all activities are deleted\n lastBidAt?: string;\n source?: string | null;\n requirementsOverride?: {\n [code: string]: { override: true; reason?: string; actionAt: string; actionBy: string };\n };\n};\n\nexport type OpportunityPaymentSummary = {\n total: string;\n paid: string;\n entries: DataRecord<OpportunityPayment>[];\n};\n\n/** @deprecated Renamed to {@link OpportunityPaymentSummary}. */\nexport type PaymentSummary = OpportunityPaymentSummary;\n\nexport type VehicleBffMetadata = {\n openOpportunities: number;\n otherRelatedVehicleIds: string[];\n};\n\nexport type OpportunityStatusRequirement = { code: OpportunityRequirementsCode; title?: string };\n\ntype OportunityWarningActionLink = {\n businessEntityId: BusinessEntityIds;\n recordId: string;\n /**\n * Absolute URL, set only when the record lives at another tenant — in-app routing cannot\n * reach it, so the client opens it in a new tab. Same shape the intercompany payments walk\n * already hands the client (ADR-0024's `opportunityUrl`).\n */\n url?: string;\n};\n\ntype OportunityWarningActionData = { [key: string]: string | number };\n\nexport type OpportunityWarning = {\n code: OpportunityWarningsCode;\n level: WarningHints;\n link?: OportunityWarningActionLink;\n data?: OportunityWarningActionData;\n showAction?: boolean;\n};\n\nexport enum OpportunityActionBlockerCode {\n MISSING_CUSTOMER = 'missing_customer',\n VEHICLE_BRANCH_MISMATCH = 'vehicle_branch_mismatch',\n MINIMUM_PAYMENT_MISSING = 'minimum_payment_missing',\n MISSING_FINANCING = 'missing_financing',\n BLOCKING_TASKS = 'blocking_tasks',\n}\n\nexport type OpportunityActionBlocker = {\n code: OpportunityActionBlockerCode;\n data?: OportunityWarningActionData;\n};\n\n/**\n * Why an action the user would otherwise expect to see is refused right now. Only actions whose\n * remaining conditions the user can act on are listed: a wrong status or a missing role hides the\n * action instead, as before.\n */\nexport type OpportunityBlockedAction = {\n action: OpportunityActions;\n reasons: OpportunityActionBlocker[];\n};\n\nexport type OpportunityBffMeta = ReferenceData & {\n requirements: OpportunityStatusRequirement[];\n warnings: OpportunityWarning[];\n blockedActions: OpportunityBlockedAction[];\n};\n\nexport type ContactMetdata = {\n openOpportunities: number;\n};\n\nexport type OpportunityBFF = {\n opportunity: DataRecord<Opportunity, OpportunityBffMeta>;\n vehicle?: DataRecord<Vehicle, VehicleBffMetadata>;\n interest?: DataRecord<Interest, InterestBffMeta>;\n bids: DataRecord<Bid>[];\n /** Every quote the deal has ever had; the ones it has left carry `meta.archived`. */\n quotes: DataRecord<Quote, QuoteRecordMeta>[];\n activeQuote?: DataRecord<Quote, QuoteRecordMeta>;\n payments: OpportunityPaymentSummary | undefined;\n reservation?: DataRecord<OpportunityReservation>;\n tasks: DataRecord<Task>[];\n customer?: {\n contact: DataRecord<Contact, ContactMetdata>;\n org?: DataRecord<Organization>;\n };\n transport?: Transport;\n};\n\ntype BaseOpportunityEvent = BaseEvent & {\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\nexport type OpportunityCreateEvent = BaseOpportunityEvent & {\n opportunity: Opportunity;\n previousOpportunity?: undefined;\n action: 'create';\n};\n\nexport type OpportunityUpdateEvent = BaseOpportunityEvent & {\n opportunity: Opportunity;\n previousOpportunity: Opportunity;\n action: 'update';\n};\n\nexport type OpportunityEvent = OpportunityCreateEvent | OpportunityUpdateEvent;\n\nexport type QuoteEvent = {\n quote: Quote;\n opportunity: Opportunity;\n action: 'create' | 'update';\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\n/* Quote summary with information that should be common to different types of quotes */\nexport type QuoteInfo = {\n status: QuoteStatus;\n roi: string;\n id: string;\n // Leasing-only metrics, denormalized from the active leasing quote so the leasing report\n // can take medians without re-reading each quote. Absent on non-leasing quotes.\n /** Leasing term in months (`calculatorInput.leasing.duration`). */\n durationMonths?: number;\n /** Yearly ROI as a percentage 0–100 (`calculatorOutput.roi.perYear`). */\n roiPerYear?: number;\n /** Advance (deposit) as a percentage 0–100 (`calculatorInput.leasing.depositPercentage`). */\n advancePercentage?: number;\n};\n\nexport type SearchOpportunity = {\n contact?: Contact;\n opportunity: Opportunity;\n org?: Organization;\n vehicle?: Vehicle;\n transport?: Transport;\n quote?: QuoteInfo;\n custom: {\n groupKey: string;\n web2Lead: boolean;\n payment: { status: OpportunityPaymentStatus; percentagePaid: string };\n unassigned: boolean;\n lost: boolean;\n assignees: string[];\n accountManagers: string[];\n vehicleCheckedIn: boolean;\n status: OpportunityStatus | 'won';\n // Denormalized at indexing time from VehiclePurchase.log.checkedInAt so the opp index\n // can answer \"how long has this vehicle been visible on the website\" without joining.\n checkedInAt?: string;\n // Calendar days from min(marketingAt, evaluationAt, purchaseAgreedAt) until validatedAt.\n // Mirrors `daysInVirtualInventory` on the vehicle Business Overview page.\n daysAvailable?: number;\n // Operational supplier for reporting. For SLB clones this is the source vehicle supplier,\n // not the bank supplier on the clone purchase.\n realSupplierId?: string;\n // Branch of the associated vehicle, coalesced from the synced original branch then the\n // local branch — mirrors the vehicle index `custom.originalBranchId` facet.\n originalBranchId?: string;\n };\n};\n\nexport const QUOTE_NEEDS_VALIDATION_NOTIFICATION_ORIGIN = 'quote-validation';\nexport const QUOTE_NOT_CREATED_BY_ACCOUNT_MANAGER = 'quote-not-created-by-account-manager';\nexport const QUOTE_VALIDATOR_FEEDBACK_NOTIFICATION_ORIGIN = 'quote-validation-feedback';\n\nexport const OPPORTUNITY_ASSIGNED_NOTIFICATION_ORIGIN = 'opportunity-assigned';\nexport const OPPORTUNITY_VEHICLE_AVAILABLE_NOTIFICATION_ORIGIN = 'opportunity-vehicle-available';\nexport const OPPORTUNITY_VEHICLE_DELIVERY_NOTIFICATION_ORIGIN = 'opportunity-vehicle-delivery';\nexport const OPPORTUNITY_VEHICLE_RESERVATION_ABOUT_TO_EXPIRE_NOTIFICATION_ORIGIN =\n 'opportunity-vehicle-reservation-to-expire';\nexport const OPPORTUNITY_VEHICLE_RESERVATION_EXPIRED_NOTIFICATION_ORIGIN =\n 'opportunity-vehicle-reservation-expired';\nexport const INTERCOMPANY_OPPORTUNITY_RELEASED_NOTIFICATION_ORIGIN =\n 'intercompany-opportunity-released';\n\nexport const OFFER_SET_FINAL_VALUATION_ORIGIN = 'offer-set-final-valuation';\n\nexport const VEHICLE_PRICE_DECREASES_NOTIFICATION_ORIGIN = 'vehicle-price-decreased';\nexport const VEHICLE_ARRIVED_NOTIFICATION_ORIGIN = 'vehicle-arrived';\nexport const VEHICLE_CHECKEDIN_NOTIFICATION_ORIGIN = 'vehicle-checkedin';\nexport const VEHICLE_FULLY_PAID_NOTIFICATION_ORIGIN = 'vehicle-fully-paid';\nexport const VEHICLE_PURCHASED_NOTIFICATION_ORIGIN = 'vehicle-purchased';\nexport const VEHICLE_PRICE_CHANGED_NOTIFICATION_ORIGIN = 'vehicle-price-changed';\nexport const VEHICLE_SOLD_NOTIFICATION_ORIGIN = 'vehicle-sold';\n\nexport type OpportunityNotificationData = {\n quoteVersion?: number;\n snippet?: string;\n};\n\n/**\n * The fields of an opportunity that the kanban board's cards show. The kanban search returns\n * only these, so a card reading a field outside this list gets nothing.\n */\nexport const KANBAN_OPPORTUNITY_ITEM_FIELDS = [\n 'opportunity.id',\n 'opportunity.status',\n 'opportunity.amount',\n 'opportunity.accountManager',\n 'opportunity.accountManagerAssistant',\n 'opportunity.administrativePerson',\n 'opportunity.createdAt',\n 'opportunity.acceptedAt',\n 'opportunity.reviewedAt',\n 'opportunity.deliveredAt',\n 'opportunity.lastActivityAt',\n 'opportunity.lostAt',\n 'custom.web2Lead',\n 'custom.payment.percentagePaid',\n 'org.id',\n 'org.name',\n 'org.countryCode',\n 'contact.id',\n 'contact.firstName',\n 'contact.lastName',\n 'contact.countryCode',\n 'vehicle.id',\n 'vehicle.internal.identification.stockNumber',\n 'vehicle.internal.identification.administrativeNumber',\n 'vehicle.internal.description.title',\n 'vehicle.external.mainPicture.url',\n 'transport.status',\n] as const satisfies readonly FieldId<SearchOpportunity>[];\n\n/** An opportunity on the kanban board: its search document cut down to the card's fields. */\nexport type KanbanOpportunityItem = PickFieldIds<\n SearchOpportunity,\n (typeof KANBAN_OPPORTUNITY_ITEM_FIELDS)[number]\n>;\n\nexport type KanbanOpportunityGroup = {\n items: KanbanOpportunityItem[];\n};\n\nexport type OpportunitiesKanbanColumn = {\n status: string;\n results: KanbanOpportunityItem[];\n groups?: KanbanOpportunityGroup[];\n totalCount: number;\n totalValue: string;\n};\n\nexport type MSearchOpportunitiesKanbanColumn = {\n column: OpportunitiesKanbanColumn;\n nextToken?: string;\n};\n\ntype HpLeasingDealRunDataBase = {\n bisondeskTenantId: string;\n entityOwner: string;\n opportunityId: string;\n};\n\n// Field ids match the hpaci (Mr Lease CI) leasing-deal process definition: the LD is the only\n// Hyperportal process for that tenant (no C flow) and the contract document lives in BisonDesk.\nexport type HpLeasingDealRunDataCi = HpLeasingDealRunDataBase & {\n client?: string;\n vendeur?: string;\n vehicule?: string;\n plaqueDimmatriculation?: string;\n numeroDeContratLeasing: string;\n dateDeDebutDuContrat?: number;\n prixDeVenteHorsTvaXof: string;\n montantDavanceTtcXof: string;\n depotDeGarantieXof?: string;\n dueeDuLeasingEnMois: number;\n travauxHorsNormesNecessaire: boolean;\n descriptionDesTravauxHorsNormes: string;\n prixTravaexSupplementaire: string;\n};\n\nexport type HpLeasingDealRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: HpLeasingDealRunDataDefault | HpLeasingDealRunDataCi;\n};\n\nexport type HpLeasingDealRunDataDefault = HpLeasingDealRunDataBase & {\n leasingContractOwner?: string;\n foreseenDeliveryDate?: string;\n deliveryAddressLeasing?: string;\n nameSalesPerson: string;\n durationLeasingInMonths: number;\n vanCourier: boolean;\n newVehicle?: boolean;\n newTrailer?: boolean;\n registrationOnTtcoBe?: boolean;\n externalDelivery?: boolean;\n civilLiabilities?: boolean;\n specialTechnicalInsurance?: boolean;\n allRisks?: boolean;\n roadAssistance?: boolean;\n vabAssistanceVan?: boolean;\n yearOfConstruction?: number;\n chassisnumber?: string;\n vehicleModel?: string;\n vehicleCategory2?: string;\n licencePlate?: string;\n vatPercentage?: number;\n\n opportunityContractId: string;\n\n company?: string;\n customerNumber?: number; //bisondesk external id\n slbPartner?: string;\n //MrLease fields\n vehicle?: string;\n vehicleNewReferenceMl?: string;\n referencePurchaserTtcoKleyn?: string;\n salesPriceEur: string;\n depositFullAmountExclVat: string;\n depositToBePrepaidExclVat: string;\n vehicleMake3?: string;\n\n //TTC fields\n vehicleOriginalReference?: string;\n salesPrice: string;\n depositFullAmount: string;\n depositAmountToBePrepaid: string;\n make?: string;\n\n //Extras\n garageExtrasCodes: string[];\n allExtrasDescriptions: string[];\n administrationExtrasCodes: string[];\n logisticExtrasCodes: string[];\n customRequestDescriptions: string[];\n};\n\nexport type HpLeasingDealResponse = {\n entityId: string;\n id: string;\n status: string;\n leasingContractNumber?: string;\n};\n\nexport type HpLeasingContractRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n bisondeskTenantId: string;\n entityOwner: string;\n leasingContractOwner?: string;\n totalLeasingAmount: string;\n company?: string;\n vehicle?: string;\n ldNumber: number;\n vanCourier: boolean;\n startDate: number;\n opportunityContractId: string;\n maxKmPerYear?: number;\n data: {\n leasingParameter: {\n allRisksPercentage: number;\n allRisksTaxPercentage: number;\n civilLiability: number;\n entityId: string;\n oneTimeRoadTax: number;\n specialInsurance: number;\n yearlyRoadTax: number;\n countries: string[];\n vehicleCategory: string;\n };\n\n calculatorRequest: {\n bankDeposit: number;\n bankDurationInMonths: number;\n bankInterestRatePercentage: number;\n bankResidualValue: number;\n deposit: number;\n durationInMonths: number;\n includesAllRisks: boolean;\n includesCivilLiability: boolean;\n includesOneTimeRoadTax: boolean;\n includesSpecialInsurance: boolean;\n includesYearlyRoadTax: boolean;\n insuranceAmount: number;\n interestRatePercentage: number;\n marginPercentage: number;\n monthlyAdministrationFee: 0;\n purchasePrice: number;\n residualValue: number;\n salesPrice: number;\n startupFeePercentage: number;\n };\n\n calculatorResponse: {\n ROI: number;\n ROIDifference: number;\n ROIPerYear: number;\n ROITarget: number;\n allRisksInsuranceAmount: number;\n bankContractValue: number;\n bankLeasingAmount: number;\n cashDeficit: number;\n financingAmount: number;\n leasingAmount: number;\n leasingContractValue: number;\n leasingProfit: number;\n monthlyTaxRetailPrice: number;\n oneTimeTaxCost: number;\n totalMonthlyPayment: number;\n totalProfit: number;\n vehicleProfit: number;\n };\n\n cashInValues: CashInRow[];\n\n cashOutValues: CashOutRow[];\n };\n };\n};\n\nexport type HpLeasingContractResponse = {\n entityId: string;\n id: string;\n status: string;\n createdAt: string;\n updatedAt: string;\n dateOfFinalSettlement: string;\n startDate: string;\n email: string;\n contractNumber: string;\n};\n\nexport type HpLeasingDealReturnRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n bisondeskTenantId: string;\n entityOwner: string;\n leasingContractNumber2: string;\n leasingContractNumber: string;\n opportunityContractId: string;\n company: string;\n vehicle: string;\n };\n};\n\nexport type HpLeasingDealEndRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n bisondeskTenantId: string;\n entityOwner: string;\n leasingContractOwner: string;\n vehicleOldReference: string;\n leasingContractNumber: string;\n company: string;\n vehicleNewReference: string;\n };\n};\n\nexport type CashInRow = {\n time: number;\n deposit: number;\n monthlyAdministrationFee: 0; //Legacy field - Should always be 0\n residualValue: number;\n startupFee: number;\n leasingAmountWithoutAdminFee: number;\n insurancePayment: number;\n taxPayment: number;\n cashIn: number;\n cumulativeCash: number;\n};\n\nexport type CashOutRow = {\n time: number;\n deposit: number;\n residualValue: number;\n leasingAmount: number;\n insurancePayment: number;\n taxPayment: number;\n cashOut: number;\n cumulativeCash: number;\n};\n\nexport type HpDeliveryFields = {\n detailsOfStacking?: string | null;\n technicalControlNeeded: boolean | null;\n\n //PickUP Delivery\n urgentDelivery?: boolean | null;\n dateOfPickUpByCustomer?: number | null;\n modeOfTransportPickUpByCustomer?: string | null; //entity Id\n detailsOfBorderCrossing?: string | null;\n insuranceNeeded: boolean | null;\n transitPlateNeeded: boolean | null;\n licensePlateNeeded: boolean | null;\n\n //Address Delivery\n address?: string | null;\n kmToAddressOfDelivery?: number | null;\n\n //To Port Delivery\n originPortText?: string | null; //entity Id\n shippingCompany?: string | null; //string Id\n destinationPort?: string | null;\n cleaningDegassingNeeded: boolean | null;\n};\n\nexport type HpIsaProcessRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: HpDeliveryFields & {\n entityOwner: string;\n nameSalesPerson: string;\n\n company?: string; //entityId\n proofOfSaleCustomerAgreement?: string; //entityId\n\n vehicle?: string; //entityId\n bodywork?: string; //entityId\n vehicleCategory: string; //entityId\n\n amountOfCommissionPaid: number;\n opportunityId: string;\n deliveryType: string; //entity Id\n directDelivery?: boolean | null;\n directDeliveryReason?: string | null;\n agreedPrice?: string;\n\n //Extras\n garageExtrasCodes: string[];\n logisticsExtrasCodes: string[];\n administrationExtrasCodes: string[];\n allExtrasDescriptions: string[];\n customRequestDescriptions: string[];\n infoSpoiler: string; // entity Id\n };\n};\n\nexport type HpIsaProcessResponse = {\n entityId: string;\n id: string;\n status: string;\n};\n\nexport type HpWorkOrderProcessRequest = {\n tenantId: string;\n initiatedBy: 'bisondesk';\n processMetaId: string;\n processRunData: {\n entityOwner: string;\n\n opportunityId: string;\n\n //Extras\n garageExtrasCodes: string[];\n allExtrasDescriptions: string[];\n\n customerRequestDescriptions: string[];\n directDeliveryReason?: string | null;\n salesPerson: string; // entityId\n customerName: string;\n referenceNumber: string;\n make?: string; //entityId\n typeTrailer?: string; //entityId\n\n vinNumber?: string;\n foreseenArrivalDateTrailer?: string;\n deadlineRequest?: number;\n locationVehicle2?: string; //entityId\n customer: string; //entityId\n vehicle: string; //entityId\n trailerHasBeenCheckedIn: boolean;\n deliveryDetails?: string | null;\n technicalInspectionNeeded: boolean | null;\n adr: boolean | null;\n };\n};\n\nexport type HpWorkOrderProcessResponse = {\n entityId: string;\n id: string;\n status: string;\n};\n\nexport type SwitchOpportunityVehicleRequest = {\n opportunity: Opportunity;\n newVehicleId: string;\n};\n\nexport type KanbanOpportunitiesSearchRequest = BaseSearchRequest & {\n nextTokens?: Record<string, string | undefined>;\n groupByClient?: boolean;\n};\n\nexport type KanbanOpportunitiesNextList = Omit<\n NextList<OpportunitiesKanbanColumn, ReferenceData>,\n 'nextToken'\n> & {\n nextTokens?: Record<string, string | undefined>;\n};\n"]}
@@ -197,7 +197,7 @@ export type SearchTransport = {
197
197
  };
198
198
  };
199
199
  export type SearchTransportList = PaginatedList<SearchTransport, ReferenceData>;
200
- export declare const KANBAN_TRANSPORT_ITEM_FIELDS: readonly ["transport", "custom.commercialUserIds", "custom.warnings", "custom.payment", "custom.intercompany", "tasks.openTasks", "org.id", "org.name", "org.countryCode", "org.externalId", "opportunity.deliveredAt", "purchase.logistics.status", "purchase.logistics.availableWeek", "purchase.logistics.pickupAddress", "vehicle.id", "vehicle.internal.identification.stockNumber", "vehicle.internal.identification.administrativeNumber", "vehicle.internal.identification.branch", "vehicle.internal.description.title", "vehicle.external.identification.stockNumber", "vehicle.external.identification.vin", "vehicle.external.mainPicture.url", "vehicle.external.condition.damaged", "vehicle.external.general.category"];
200
+ export declare const KANBAN_TRANSPORT_ITEM_FIELDS: readonly ["transport", "custom.commercialUserIds", "custom.warnings", "custom.payment", "custom.intercompany", "tasks.openTasks", "org.id", "org.name", "org.countryCode", "org.externalId", "opportunity.branch", "purchase.logistics.status", "purchase.logistics.availableWeek", "purchase.logistics.pickupAddress", "vehicle.id", "vehicle.internal.identification.stockNumber", "vehicle.internal.identification.administrativeNumber", "vehicle.internal.identification.branch", "vehicle.internal.description.title", "vehicle.external.identification.stockNumber", "vehicle.external.identification.vin", "vehicle.external.mainPicture.url", "vehicle.external.condition.damaged", "vehicle.external.general.category"];
201
201
  export type KanbanTransportItem = PickFieldIds<SearchTransport, (typeof KANBAN_TRANSPORT_ITEM_FIELDS)[number]>;
202
202
  export type KanbanTransportGroup = {
203
203
  representative: KanbanTransportItem;
@@ -1 +1 @@
1
- {"version":3,"file":"transports.d.ts","sourceRoot":"/","sources":["types/transports.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transports.d.ts","sourceRoot":"/","sources":["types/transports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAW,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEzD,oBAAY,aAAa;IACvB,QAAQ,aAAa;IACrB,IAAI,SAAS;CACd;AAED,oBAAY,eAAe;IACzB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,KAAK,UAAU;IACf,iBAAiB,uBAAuB;IACxC,eAAe,qBAAqB;IACpC,WAAW,iBAAiB;IAC5B,IAAI,SAAS;CACd;AAED,eAAO,MAAM,oBAAoB,EAAE,eAAe,EAOjD,CAAC;AAEF,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D,eAAO,MAAM,yBAAyB,EAAE,eAAe,EAA4B,CAAC;AACpF,eAAO,MAAM,sBAAsB,EAAE,eAAe,EAGnD,CAAC;AAEF,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,MAAM,WAAW;CAClB;AAUD,MAAM,MAAM,2BAA2B,GAAG,IAAI,CAAC,kBAAkB,EAAE,wBAAwB,CAAC,CAAC;AAG7F,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,UAAU,GAAG,OAAO,GAAG,SAAS,CAAC;IAE9C,MAAM,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAEtC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,aAAa,CAAC,mBAAmB,CAAC,CAAC;AAEjE,MAAM,MAAM,uBAAuB,GAAG;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,CACrC,gBAAgB,GAChB,mBAAmB,GACnB,2BAA2B,CAC9B,GACC,uBAAuB,CAAC;AAE1B,MAAM,MAAM,6BAA6B,GAAG,oBAAoB,GAAG,uBAAuB,CAAC;AAG3F,eAAO,MAAM,0BAA0B;aACrC,OAAO;aACP,IAAI;aACJ,WAAW;aACX,MAAM;CACE,CAAC;AAEX,eAAO,MAAM,sCAAsC,uBAAuB,CAAC;AAC3E,eAAO,MAAM,oDAAoD,qCAC7B,CAAC;AACrC,eAAO,MAAM,sCAAsC,uBAAuB,CAAC;AAE3E,MAAM,MAAM,SAAS,GAAG;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,iBAAiB,CAAC;IAG5B,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,MAAM,EAAE;QACN,wBAAwB,EAAE,MAAM,CAAC;QACjC,gBAAgB,EAAE,MAAM,CAAC;QACzB,yBAAyB,CAAC,EAAE,MAAM,CAAC;KACpC,CAAC;IAEF,GAAG,EAAE,KAAK,CAAC;QACT,MAAM,EAAE,eAAe,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IAEH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,CACA;IACE,IAAI,EAAE,aAAa,CAAC,QAAQ,CAAC;IAC7B,QAAQ,EAAE,6BAA6B,CAAC;CACzC,GACD;IACE,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;IACzB,QAAQ,EAAE,0BAA0B,CAAC;CACtC,CACJ,CAAC;AAEF,oBAAY,oBAAoB;IAC9B,yBAAyB,iCAAiC;IAC1D,mBAAmB,0BAA0B;IAC7C,YAAY,kBAAkB;CAC/B;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC;CACrD,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAEtD,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;AAOpD,oBAAY,gBAAgB;IAE1B,WAAW,iBAAiB;IAC5B,QAAQ,cAAc;IAEtB,WAAW,iBAAiB;IAE5B,SAAS,eAAe;IACxB,WAAW,iBAAiB;IAC5B,aAAa,oBAAoB;CAClC;AAOD,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,EAAE,0BAA0B,GAAG,6BAA6B,CAAC;IACtE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,kBAAkB,GAAG;IACtD,MAAM,EAAE,QAAQ,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,YAAY,EAAE,SAAS,CAAC;CACzB,CAAC;AAGF,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,CAAC;AAEvF,oBAAY,sBAAsB;IAChC,gBAAgB,uBAAuB;IACvC,SAAS,eAAe;IACxB,sBAAsB,6BAA6B;IACnD,mBAAmB,0BAA0B;IAC7C,kBAAkB,yBAAyB;IAC3C,eAAe,sBAAsB;CACtC;AAOD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,wBAAwB,CAAC;IAEjC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAGF,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAM1C,oBAAY,mCAAmC;IAC7C,EAAE,OAAO;IACT,SAAS,cAAc;IACvB,GAAG,QAAQ;CACZ;AAGD,oBAAY,uBAAuB;IACjC,eAAe,qBAAqB;IACpC,UAAU,gBAAgB;IAC1B,UAAU,gBAAgB;CAC3B;AAED,MAAM,MAAM,eAAe,GAAG;IAC5B,SAAS,EAAE,SAAS,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,YAAY,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,EAAE,eAAe,CAAC;IAC1B,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,MAAM,EAAE;QACN,iBAAiB,EAAE,MAAM,EAAE,CAAC;QAC5B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;QAC7B,eAAe,EAAE,MAAM,CAAC;QACxB,OAAO,EAAE,gBAAgB,CAAC;QAC1B,aAAa,EAAE,sBAAsB,CAAC;QAKtC,oBAAoB,CAAC,EAAE,mCAAmC,CAAC;QAK3D,MAAM,CAAC,EAAE,MAAM,CAAC;QAShB,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,CAAC,CAAC;QACzC,cAAc,CAAC,EAAE,uBAAuB,CAAC;QAKzC,YAAY,CAAC,EAAE;YACb,UAAU,EAAE,MAAM,CAAC;YACnB,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC;KACH,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,aAAa,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;AAOhF,eAAO,MAAM,4BAA4B,msBAyBe,CAAC;AAGzD,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAC5C,eAAe,EACf,CAAC,OAAO,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAC9C,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,cAAc,EAAE,mBAAmB,CAAC;IACpC,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,mBAAmB,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,oBAAoB,EAAE,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,MAAM,EAAE,qBAAqB,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG,iBAAiB,GAAG;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAChD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,SAAS,CAAA;KAAE,EAAE,CAAC,CAAC;CACjF,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG,IAAI,CACzC,QAAQ,CAAC,qBAAqB,EAAE,aAAa,CAAC,EAC9C,WAAW,CACZ,GAAG;IACF,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CACjD,CAAC"}
@@ -91,7 +91,7 @@ export const KANBAN_TRANSPORT_ITEM_FIELDS = [
91
91
  'org.name',
92
92
  'org.countryCode',
93
93
  'org.externalId',
94
- 'opportunity.deliveredAt',
94
+ 'opportunity.branch',
95
95
  'purchase.logistics.status',
96
96
  'purchase.logistics.availableWeek',
97
97
  'purchase.logistics.pickupAddress',
@@ -1 +1 @@
1
- {"version":3,"file":"transports.js","sourceRoot":"/","sources":["types/transports.ts"],"names":[],"mappings":"AAEA,OAAO,EAKL,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AAQzB,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,sCAAqB,CAAA;IACrB,8BAAa,CAAA;AACf,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB;AAED,MAAM,CAAN,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,gCAAa,CAAA;IACb,wCAAqB,CAAA;IACrB,kCAAe,CAAA;IACf,2DAAwC,CAAA;IACxC,uDAAoC,CAAA;IACpC,+CAA4B,CAAA;IAC5B,gCAAa,CAAA;AACf,CAAC,EARW,eAAe,KAAf,eAAe,QAQ1B;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAsB;IACrD,eAAe,CAAC,IAAI;IACpB,eAAe,CAAC,QAAQ;IACxB,eAAe,CAAC,KAAK;IACrB,eAAe,CAAC,iBAAiB;IACjC,eAAe,CAAC,eAAe;IAC/B,eAAe,CAAC,WAAW;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,eAAe,CAAC,IAAI,CAAC;AAE1D,MAAM,CAAC,MAAM,yBAAyB,GAAsB,CAAC,qBAAqB,CAAC,CAAC;AACpF,MAAM,CAAC,MAAM,sBAAsB,GAAsB;IACvD,GAAG,oBAAoB;IACvB,GAAG,yBAAyB;CAC7B,CAAC;AAEF,MAAM,CAAN,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,kCAAa,CAAA;IACb,sCAAiB,CAAA;AACnB,CAAC,EAJW,iBAAiB,KAAjB,iBAAiB,QAI5B;AAkDD,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,OAAO,EAAE,kBAAkB,CAAC,OAAO;IACnC,IAAI,EAAE,kBAAkB,CAAC,IAAI;IAC7B,WAAW,EAAE,kBAAkB,CAAC,aAAa;IAC7C,MAAM,EAAE,kBAAkB,CAAC,OAAO;CAC1B,CAAC;AAEX,MAAM,CAAC,MAAM,sCAAsC,GAAG,oBAAoB,CAAC;AAC3E,MAAM,CAAC,MAAM,oDAAoD,GAC/D,kCAAkC,CAAC;AACrC,MAAM,CAAC,MAAM,sCAAsC,GAAG,oBAAoB,CAAC;AAqD3E,MAAM,CAAN,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC9B,kFAA0D,CAAA;IAC1D,qEAA6C,CAAA;IAC7C,sDAA8B,CAAA;AAChC,CAAC,EAJW,oBAAoB,KAApB,oBAAoB,QAI/B;AAgBD,MAAM,CAAN,IAAY,gBAUX;AAVD,WAAY,gBAAgB;IAE1B,gDAA4B,CAAA;IAC5B,0CAAsB,CAAA;IAEtB,gDAA4B,CAAA;IAE5B,4CAAwB,CAAA;IACxB,gDAA4B,CAAA;IAC5B,qDAAiC,CAAA;AACnC,CAAC,EAVW,gBAAgB,KAAhB,gBAAgB,QAU3B;AAyCD,MAAM,CAAN,IAAY,sBAOX;AAPD,WAAY,sBAAsB;IAChC,iEAAuC,CAAA;IACvC,kDAAwB,CAAA;IACxB,6EAAmD,CAAA;IACnD,uEAA6C,CAAA;IAC7C,qEAA2C,CAAA;IAC3C,+DAAqC,CAAA;AACvC,CAAC,EAPW,sBAAsB,KAAtB,sBAAsB,QAOjC;AAcD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAM1C,MAAM,CAAN,IAAY,mCAIX;AAJD,WAAY,mCAAmC;IAC7C,gDAAS,CAAA;IACT,8DAAuB,CAAA;IACvB,kDAAW,CAAA;AACb,CAAC,EAJW,mCAAmC,KAAnC,mCAAmC,QAI9C;AAGD,MAAM,CAAN,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IACjC,+DAAoC,CAAA;IACpC,qDAA0B,CAAA;IAC1B,qDAA0B,CAAA;AAC5B,CAAC,EAJW,uBAAuB,KAAvB,uBAAuB,QAIlC;AAyDD,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,WAAW;IACX,0BAA0B;IAC1B,iBAAiB;IACjB,gBAAgB;IAChB,qBAAqB;IACrB,iBAAiB;IACjB,QAAQ;IACR,UAAU;IACV,iBAAiB;IACjB,gBAAgB;IAChB,yBAAyB;IACzB,2BAA2B;IAC3B,kCAAkC;IAClC,kCAAkC;IAClC,YAAY;IACZ,6CAA6C;IAC7C,sDAAsD;IACtD,wCAAwC;IACxC,oCAAoC;IACpC,6CAA6C;IAC7C,qCAAqC;IACrC,kCAAkC;IAClC,oCAAoC;IACpC,mCAAmC;CACmB,CAAC","sourcesContent":["import { GPSCoord, NextList, PaginatedList } from '@bisondesk/commons-sdk/types';\nimport { Organization } from './crm.js';\nimport {\n AddressDeliveryType,\n PickUpDeliveryType,\n PortDeliverytype,\n PurchaseDeliveryType,\n SalesDeliveryTypes,\n} from './deliveries.js';\nimport { BaseEvent } from './internal-events.js';\nimport { Opportunity, OpportunityPaymentStatus } from './opportunities.js';\nimport { PicklistValue } from './picklists.js';\nimport { BaseSearchRequest, FieldId, PickFieldIds, SortOrder } from './search.js';\nimport { DataRecord, ReferenceData } from './utils.js';\nimport { Vehicle, VehiclePurchase } from './vehicles.js';\n\nexport enum TransportType {\n Purchase = 'PURCHASE',\n Sale = 'SALE',\n}\n\nexport enum TransportStatus {\n Todo = 'TODO',\n Planning = 'PLANNING',\n Ready = 'READY',\n ScheduledExternal = 'SCHEDULED_EXTERNAL',\n OngoingInternal = 'ONGOING_INTERNAL',\n OngoingShip = 'ONGOING_SHIP',\n Done = 'DONE',\n}\n\nexport const TransportStatusOrder: TransportStatus[] = [\n TransportStatus.Todo,\n TransportStatus.Planning,\n TransportStatus.Ready,\n TransportStatus.ScheduledExternal,\n TransportStatus.OngoingInternal,\n TransportStatus.OngoingShip,\n];\n\nexport const TransportDoneColumnId = TransportStatus.Done;\n\nexport const TransportKanbanEndColumns: TransportStatus[] = [TransportDoneColumnId];\nexport const TransportKanbanColumns: TransportStatus[] = [\n ...TransportStatusOrder,\n ...TransportKanbanEndColumns,\n];\n\nexport enum TransportPriority {\n Normal = 'NORMAL',\n High = 'HIGH',\n Urgent = 'URGENT',\n}\n\n/**\n * The customer collects the vehicle. Nothing is driven anywhere, but the papers still have to be\n * arranged and paid for — transit plates, technical control, insurance — which is why it is a\n * delivery type administration reviews rather than the absence of one.\n *\n * `dateOfPickUpByCustomer` is dropped from the quote's shape: the transport's own `date` is the\n * collection day, and two fields for one date only ever disagree.\n */\nexport type TransportPickUpDeliveryType = Omit<PickUpDeliveryType, 'dateOfPickUpByCustomer'>;\n\n/** `meta` of a value in the TRANSPORT_DRIVERS_PICKLIST_ID picklist, edited as JSON by an admin. */\nexport type TransportDriverMeta = {\n phone?: string;\n employment?: 'employee' | 'flexi' | 'interim';\n /** The agency we book and pay this driver through; an organization in the driver's tenant. */\n agency?: { id: string; name: string };\n /** When the driver can't drive or what they can't take on, e.g. \"Not on Wednesdays\". */\n notes?: string;\n /** Hidden from the picker; transports that already name the driver keep showing them. */\n inactive?: boolean;\n};\n\nexport type TransportDriver = PicklistValue<TransportDriverMeta>;\n\nexport type TransportDeliveryExtras = {\n cleaningNeeded?: boolean;\n /** Value id in the TRANSPORT_DRIVERS_PICKLIST_ID picklist. */\n driver?: string;\n /** Own-use vehicles doing this transport, e.g. a tractor and its trailer. */\n fleetVehicleIds?: string[];\n /** Organizations we hire for this transport, listed by the TRANSPORT_PARTNER_ORG_TAG tag. */\n externalServiceOrgIds?: string[];\n transportCompany?: string;\n date?: string; // Pick-up (purchase) | Delivery (OPP) (leaves parking)\n adminCost?: string; // user-entered administrative cost summed into totalCostExclVat\n stackingVehicleCostPrice?: string; // overrides the stacking rate from the delivery settings\n};\n\nexport type TransportSalesDeliveryType = (\n | PortDeliverytype\n | AddressDeliveryType\n | TransportPickUpDeliveryType\n) &\n TransportDeliveryExtras;\n\nexport type TransportPurchaseDeliveryType = PurchaseDeliveryType & TransportDeliveryExtras;\n\n/** @deprecated Use SalesDeliveryTypes from ./deliveries.js. */\nexport const TransportSalesDeliveryType = {\n Address: SalesDeliveryTypes.ADDRESS,\n Port: SalesDeliveryTypes.PORT,\n PortAndShip: SalesDeliveryTypes.PORT_AND_SHIP,\n PickUp: SalesDeliveryTypes.PICK_UP,\n} as const;\n\nexport const TRANSPORT_CANCELED_NOTIFICATION_ORIGIN = 'transport-canceled';\nexport const TRANSPORT_QUOTE_DELIVERY_CHANGED_NOTIFICATION_ORIGIN =\n 'transport-quote-delivery-changed';\nexport const TRANSPORT_RESTORED_NOTIFICATION_ORIGIN = 'transport-restored';\n\nexport type Transport = {\n id: string;\n vehicleId: string;\n opportunityId?: string;\n /** Sale deliveries: the quote the transport's delivery follows. */\n quoteId?: string;\n /** A newer quote replaced the delivery. Cleared once someone marks the transport as checked. */\n quoteDeliveryChangedAt?: string;\n\n status: TransportStatus;\n priority: TransportPriority;\n\n // administrative fields\n adminApproved: boolean;\n adminApprovedAt?: string;\n adminApprovedBy?: string;\n transportWithoutPayment?: boolean;\n notes?: string;\n\n totals: {\n totalRetailAmountExclVat: string;\n totalCostExclVat: string;\n estimatedTotalCostExclVat?: string;\n };\n\n log: Array<{\n status: TransportStatus;\n completedAt: string;\n completedBy: string;\n }>;\n\n doneAt?: string;\n doneBy?: string;\n canceledAt?: string;\n canceledBy?: string;\n\n createdAt: string;\n createdBy: string;\n updatedAt: string;\n updatedBy: string;\n} & (\n | {\n type: TransportType.Purchase;\n delivery: TransportPurchaseDeliveryType;\n }\n | {\n type: TransportType.Sale;\n delivery: TransportSalesDeliveryType;\n }\n);\n\nexport enum TransportWarningCode {\n PurchaseLogisticsNotReady = 'purchase_logistics_not_ready',\n OpportunityInReview = 'opportunity_in_review',\n QuoteChanged = 'quote_changed',\n}\n\nexport type TransportWarning = {\n code: TransportWarningCode;\n details?: Record<string, string | number | boolean>;\n};\n\nexport type TransportCost = Pick<Transport, 'totals'>;\n\nexport type TransportRecord = DataRecord<Transport>;\n\n/**\n * What a requester may change on a transport, field group by field group. The server filters an\n * update through these and returns the ones granted on the record, so the drawer disables what the\n * user cannot touch instead of deciding for itself from the user's roles.\n */\nexport enum TransportActions {\n /** The route: addresses, ports, dates, costs. */\n SetDelivery = 'set_delivery',\n SetNotes = 'set_notes',\n /** The administrative sign-off, and the clearance to move before the payment. */\n SetApproval = 'set_approval',\n /** The board column. */\n SetStatus = 'set_status',\n SetPriority = 'set_priority',\n SetBookingRef = 'set_booking_ref',\n}\n\n/**\n * Every field a write may set, in one shape. `delivery` is replaced whole when it is sent — there is\n * no partial merge into the stored one — which is why `bookingRef` rides alongside as a scalar the\n * server writes into the delivery it ends up with.\n */\nexport type TransportUpdate = {\n delivery?: TransportSalesDeliveryType | TransportPurchaseDeliveryType;\n notes?: string | null;\n adminApproved?: boolean;\n transportWithoutPayment?: boolean;\n status?: TransportStatus;\n priority?: TransportPriority;\n bookingRef?: string | null;\n /** Someone checked the delivery a newer quote brought in; the quote_changed warning clears. */\n acknowledgeQuoteChange?: boolean;\n};\n\ntype BaseTransportEvent = {\n actionAt: string;\n userId: string;\n tenantId: string;\n transportId: string;\n};\n\nexport type TransportCreateEvent = BaseTransportEvent & {\n action: 'create';\n data: Transport;\n previousData?: undefined;\n};\n\nexport type TransportUpdateEvent = BaseTransportEvent & {\n action: 'update';\n data: Transport;\n previousData: Transport;\n};\n\n/** Published whenever a transport is written. Carries both sides so subscribers judge relevance. */\nexport type TransportEvent = BaseEvent & (TransportCreateEvent | TransportUpdateEvent);\n\nexport enum TransportPaymentStatus {\n PaymentNotNeeded = 'payment_not_needed',\n NoPayment = 'no_payment',\n PartialPaymentReceived = 'partial_payment_received',\n FullPaymentReceived = 'full_payment_received',\n PartialPaymentSent = 'partial_payment_sent',\n FullPaymentSent = 'full_payment_sent',\n}\n\n/**\n * Where the money stands on the record the transport serves: the customer's payments on the\n * opportunity for a sale delivery, ours to the supplier for a purchase pick-up. Denormalised at\n * indexing time so the board can show it without joining.\n */\nexport type TransportPayment = {\n status: OpportunityPaymentStatus;\n /** Only a sale delivery knows the ratio — a pick-up has milestones, not a running total. */\n percentagePaid?: string;\n};\n\n/** The `custom.driver` search value of a transport nobody drives yet. */\nexport const TRANSPORT_NO_DRIVER = 'none';\n\n/**\n * Whether a port delivery has its delivery instructions attached. `YesRecent` means the most recent\n * upload is less than one working day old.\n */\nexport enum TransportDeliveryInstructionsStatus {\n No = 'no',\n YesRecent = 'yesRecent',\n Yes = 'yes',\n}\n\n/** Which address the map pin came from, so the UI can tell an exact pin from an approximate one. */\nexport enum TransportLocationSource {\n DeliveryAddress = 'delivery_address',\n OriginPort = 'origin_port',\n OrgAddress = 'org_address',\n}\n\nexport type SearchTransport = {\n transport: Transport;\n vehicle: Vehicle;\n org: Organization;\n opportunity?: Opportunity;\n purchase: VehiclePurchase;\n tasks: {\n totalTasks: number;\n openTasks: number;\n nextDueAt?: string;\n };\n custom: {\n commercialUserIds: string[];\n warnings: TransportWarning[];\n priorityOrdinal: number;\n payment: TransportPayment;\n paymentStatus: TransportPaymentStatus;\n /**\n * Computed when the transport is indexed, so `YesRecent` only turns into `Yes` on the next\n * reindex. Only set for a port delivery.\n */\n deliveryInstructions?: TransportDeliveryInstructionsStatus;\n /**\n * The assigned driver's picklist value id, or TRANSPORT_NO_DRIVER, so \"no driver\" is a facet\n * value. Computed when the transport is indexed.\n */\n driver?: string;\n /**\n * Where the transport happens: the delivery address, or the origin port for a shipped delivery.\n * Denormalised into one field because the map clusters over a single geo_point, and a port\n * delivery carries no address of its own.\n *\n * Deliberately narrower than `GPSCoord`: a geo_point field rejects any key beyond lat/lon, so\n * the map zoom the coordinates picker stores must not reach the index.\n */\n location?: Pick<GPSCoord, 'lat' | 'lon'>;\n locationSource?: TransportLocationSource;\n /**\n * Set when the organization is one of the group's own branches. Names rather than ids: the\n * branch usually belongs to another tenant, which the client cannot look up.\n */\n intercompany?: {\n tenantName: string;\n branchName: string;\n };\n };\n};\n\nexport type SearchTransportList = PaginatedList<SearchTransport, ReferenceData>;\n\n/**\n * The fields of a transport that the kanban board reads: its cards, its drag and drop, and the\n * drawer a card opens. The kanban search returns only these, so a reader of a field outside this\n * list gets nothing.\n */\nexport const KANBAN_TRANSPORT_ITEM_FIELDS = [\n 'transport',\n 'custom.commercialUserIds',\n 'custom.warnings',\n 'custom.payment',\n 'custom.intercompany',\n 'tasks.openTasks',\n 'org.id',\n 'org.name',\n 'org.countryCode',\n 'org.externalId',\n 'opportunity.deliveredAt',\n 'purchase.logistics.status',\n 'purchase.logistics.availableWeek',\n 'purchase.logistics.pickupAddress',\n 'vehicle.id',\n 'vehicle.internal.identification.stockNumber',\n 'vehicle.internal.identification.administrativeNumber',\n 'vehicle.internal.identification.branch',\n 'vehicle.internal.description.title',\n 'vehicle.external.identification.stockNumber',\n 'vehicle.external.identification.vin',\n 'vehicle.external.mainPicture.url',\n 'vehicle.external.condition.damaged',\n 'vehicle.external.general.category',\n] as const satisfies readonly FieldId<SearchTransport>[];\n\n/** A transport on the kanban board: its search document cut down to what the board reads. */\nexport type KanbanTransportItem = PickFieldIds<\n SearchTransport,\n (typeof KANBAN_TRANSPORT_ITEM_FIELDS)[number]\n>;\n\nexport type KanbanTransportGroup = {\n representative: KanbanTransportItem;\n items: KanbanTransportItem[];\n totalCount: number;\n /** Pass in nextTokens for this column to load more transports from the organization. */\n nextToken?: string;\n};\n\nexport type TransportKanbanColumn = {\n status: TransportStatus;\n results: KanbanTransportItem[];\n groups?: KanbanTransportGroup[];\n totalCount: number;\n};\n\nexport type MSearchTransportsKanbanColumn = {\n column: TransportKanbanColumn;\n nextToken?: string;\n};\n\nexport type KanbanTransportsSearchRequest = BaseSearchRequest & {\n nextTokens?: Record<string, string | undefined>;\n groupByOrganization?: boolean;\n statusSortBy?: Record<TransportStatus, { fieldId: string; order: SortOrder }[]>;\n};\n\nexport type KanbanTransportsNextList = Omit<\n NextList<TransportKanbanColumn, ReferenceData>,\n 'nextToken'\n> & {\n nextTokens?: Record<string, string | undefined>;\n};\n"]}
1
+ {"version":3,"file":"transports.js","sourceRoot":"/","sources":["types/transports.ts"],"names":[],"mappings":"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","sourcesContent":["import { GPSCoord, NextList, PaginatedList } from '@bisondesk/commons-sdk/types';\nimport { Organization } from './crm.js';\nimport {\n AddressDeliveryType,\n PickUpDeliveryType,\n PortDeliverytype,\n PurchaseDeliveryType,\n SalesDeliveryTypes,\n} from './deliveries.js';\nimport { BaseEvent } from './internal-events.js';\nimport { Opportunity, OpportunityPaymentStatus } from './opportunities.js';\nimport { PicklistValue } from './picklists.js';\nimport { BaseSearchRequest, FieldId, PickFieldIds, SortOrder } from './search.js';\nimport { DataRecord, ReferenceData } from './utils.js';\nimport { Vehicle, VehiclePurchase } from './vehicles.js';\n\nexport enum TransportType {\n Purchase = 'PURCHASE',\n Sale = 'SALE',\n}\n\nexport enum TransportStatus {\n Todo = 'TODO',\n Planning = 'PLANNING',\n Ready = 'READY',\n ScheduledExternal = 'SCHEDULED_EXTERNAL',\n OngoingInternal = 'ONGOING_INTERNAL',\n OngoingShip = 'ONGOING_SHIP',\n Done = 'DONE',\n}\n\nexport const TransportStatusOrder: TransportStatus[] = [\n TransportStatus.Todo,\n TransportStatus.Planning,\n TransportStatus.Ready,\n TransportStatus.ScheduledExternal,\n TransportStatus.OngoingInternal,\n TransportStatus.OngoingShip,\n];\n\nexport const TransportDoneColumnId = TransportStatus.Done;\n\nexport const TransportKanbanEndColumns: TransportStatus[] = [TransportDoneColumnId];\nexport const TransportKanbanColumns: TransportStatus[] = [\n ...TransportStatusOrder,\n ...TransportKanbanEndColumns,\n];\n\nexport enum TransportPriority {\n Normal = 'NORMAL',\n High = 'HIGH',\n Urgent = 'URGENT',\n}\n\n/**\n * The customer collects the vehicle. Nothing is driven anywhere, but the papers still have to be\n * arranged and paid for — transit plates, technical control, insurance — which is why it is a\n * delivery type administration reviews rather than the absence of one.\n *\n * `dateOfPickUpByCustomer` is dropped from the quote's shape: the transport's own `date` is the\n * collection day, and two fields for one date only ever disagree.\n */\nexport type TransportPickUpDeliveryType = Omit<PickUpDeliveryType, 'dateOfPickUpByCustomer'>;\n\n/** `meta` of a value in the TRANSPORT_DRIVERS_PICKLIST_ID picklist, edited as JSON by an admin. */\nexport type TransportDriverMeta = {\n phone?: string;\n employment?: 'employee' | 'flexi' | 'interim';\n /** The agency we book and pay this driver through; an organization in the driver's tenant. */\n agency?: { id: string; name: string };\n /** When the driver can't drive or what they can't take on, e.g. \"Not on Wednesdays\". */\n notes?: string;\n /** Hidden from the picker; transports that already name the driver keep showing them. */\n inactive?: boolean;\n};\n\nexport type TransportDriver = PicklistValue<TransportDriverMeta>;\n\nexport type TransportDeliveryExtras = {\n cleaningNeeded?: boolean;\n /** Value id in the TRANSPORT_DRIVERS_PICKLIST_ID picklist. */\n driver?: string;\n /** Own-use vehicles doing this transport, e.g. a tractor and its trailer. */\n fleetVehicleIds?: string[];\n /** Organizations we hire for this transport, listed by the TRANSPORT_PARTNER_ORG_TAG tag. */\n externalServiceOrgIds?: string[];\n transportCompany?: string;\n date?: string; // Pick-up (purchase) | Delivery (OPP) (leaves parking)\n adminCost?: string; // user-entered administrative cost summed into totalCostExclVat\n stackingVehicleCostPrice?: string; // overrides the stacking rate from the delivery settings\n};\n\nexport type TransportSalesDeliveryType = (\n | PortDeliverytype\n | AddressDeliveryType\n | TransportPickUpDeliveryType\n) &\n TransportDeliveryExtras;\n\nexport type TransportPurchaseDeliveryType = PurchaseDeliveryType & TransportDeliveryExtras;\n\n/** @deprecated Use SalesDeliveryTypes from ./deliveries.js. */\nexport const TransportSalesDeliveryType = {\n Address: SalesDeliveryTypes.ADDRESS,\n Port: SalesDeliveryTypes.PORT,\n PortAndShip: SalesDeliveryTypes.PORT_AND_SHIP,\n PickUp: SalesDeliveryTypes.PICK_UP,\n} as const;\n\nexport const TRANSPORT_CANCELED_NOTIFICATION_ORIGIN = 'transport-canceled';\nexport const TRANSPORT_QUOTE_DELIVERY_CHANGED_NOTIFICATION_ORIGIN =\n 'transport-quote-delivery-changed';\nexport const TRANSPORT_RESTORED_NOTIFICATION_ORIGIN = 'transport-restored';\n\nexport type Transport = {\n id: string;\n vehicleId: string;\n opportunityId?: string;\n /** Sale deliveries: the quote the transport's delivery follows. */\n quoteId?: string;\n /** A newer quote replaced the delivery. Cleared once someone marks the transport as checked. */\n quoteDeliveryChangedAt?: string;\n\n status: TransportStatus;\n priority: TransportPriority;\n\n // administrative fields\n adminApproved: boolean;\n adminApprovedAt?: string;\n adminApprovedBy?: string;\n transportWithoutPayment?: boolean;\n notes?: string;\n\n totals: {\n totalRetailAmountExclVat: string;\n totalCostExclVat: string;\n estimatedTotalCostExclVat?: string;\n };\n\n log: Array<{\n status: TransportStatus;\n completedAt: string;\n completedBy: string;\n }>;\n\n doneAt?: string;\n doneBy?: string;\n canceledAt?: string;\n canceledBy?: string;\n\n createdAt: string;\n createdBy: string;\n updatedAt: string;\n updatedBy: string;\n} & (\n | {\n type: TransportType.Purchase;\n delivery: TransportPurchaseDeliveryType;\n }\n | {\n type: TransportType.Sale;\n delivery: TransportSalesDeliveryType;\n }\n);\n\nexport enum TransportWarningCode {\n PurchaseLogisticsNotReady = 'purchase_logistics_not_ready',\n OpportunityInReview = 'opportunity_in_review',\n QuoteChanged = 'quote_changed',\n}\n\nexport type TransportWarning = {\n code: TransportWarningCode;\n details?: Record<string, string | number | boolean>;\n};\n\nexport type TransportCost = Pick<Transport, 'totals'>;\n\nexport type TransportRecord = DataRecord<Transport>;\n\n/**\n * What a requester may change on a transport, field group by field group. The server filters an\n * update through these and returns the ones granted on the record, so the drawer disables what the\n * user cannot touch instead of deciding for itself from the user's roles.\n */\nexport enum TransportActions {\n /** The route: addresses, ports, dates, costs. */\n SetDelivery = 'set_delivery',\n SetNotes = 'set_notes',\n /** The administrative sign-off, and the clearance to move before the payment. */\n SetApproval = 'set_approval',\n /** The board column. */\n SetStatus = 'set_status',\n SetPriority = 'set_priority',\n SetBookingRef = 'set_booking_ref',\n}\n\n/**\n * Every field a write may set, in one shape. `delivery` is replaced whole when it is sent — there is\n * no partial merge into the stored one — which is why `bookingRef` rides alongside as a scalar the\n * server writes into the delivery it ends up with.\n */\nexport type TransportUpdate = {\n delivery?: TransportSalesDeliveryType | TransportPurchaseDeliveryType;\n notes?: string | null;\n adminApproved?: boolean;\n transportWithoutPayment?: boolean;\n status?: TransportStatus;\n priority?: TransportPriority;\n bookingRef?: string | null;\n /** Someone checked the delivery a newer quote brought in; the quote_changed warning clears. */\n acknowledgeQuoteChange?: boolean;\n};\n\ntype BaseTransportEvent = {\n actionAt: string;\n userId: string;\n tenantId: string;\n transportId: string;\n};\n\nexport type TransportCreateEvent = BaseTransportEvent & {\n action: 'create';\n data: Transport;\n previousData?: undefined;\n};\n\nexport type TransportUpdateEvent = BaseTransportEvent & {\n action: 'update';\n data: Transport;\n previousData: Transport;\n};\n\n/** Published whenever a transport is written. Carries both sides so subscribers judge relevance. */\nexport type TransportEvent = BaseEvent & (TransportCreateEvent | TransportUpdateEvent);\n\nexport enum TransportPaymentStatus {\n PaymentNotNeeded = 'payment_not_needed',\n NoPayment = 'no_payment',\n PartialPaymentReceived = 'partial_payment_received',\n FullPaymentReceived = 'full_payment_received',\n PartialPaymentSent = 'partial_payment_sent',\n FullPaymentSent = 'full_payment_sent',\n}\n\n/**\n * Where the money stands on the record the transport serves: the customer's payments on the\n * opportunity for a sale delivery, ours to the supplier for a purchase pick-up. Denormalised at\n * indexing time so the board can show it without joining.\n */\nexport type TransportPayment = {\n status: OpportunityPaymentStatus;\n /** Only a sale delivery knows the ratio — a pick-up has milestones, not a running total. */\n percentagePaid?: string;\n};\n\n/** The `custom.driver` search value of a transport nobody drives yet. */\nexport const TRANSPORT_NO_DRIVER = 'none';\n\n/**\n * Whether a port delivery has its delivery instructions attached. `YesRecent` means the most recent\n * upload is less than one working day old.\n */\nexport enum TransportDeliveryInstructionsStatus {\n No = 'no',\n YesRecent = 'yesRecent',\n Yes = 'yes',\n}\n\n/** Which address the map pin came from, so the UI can tell an exact pin from an approximate one. */\nexport enum TransportLocationSource {\n DeliveryAddress = 'delivery_address',\n OriginPort = 'origin_port',\n OrgAddress = 'org_address',\n}\n\nexport type SearchTransport = {\n transport: Transport;\n vehicle: Vehicle;\n org: Organization;\n opportunity?: Opportunity;\n purchase: VehiclePurchase;\n tasks: {\n totalTasks: number;\n openTasks: number;\n nextDueAt?: string;\n };\n custom: {\n commercialUserIds: string[];\n warnings: TransportWarning[];\n priorityOrdinal: number;\n payment: TransportPayment;\n paymentStatus: TransportPaymentStatus;\n /**\n * Computed when the transport is indexed, so `YesRecent` only turns into `Yes` on the next\n * reindex. Only set for a port delivery.\n */\n deliveryInstructions?: TransportDeliveryInstructionsStatus;\n /**\n * The assigned driver's picklist value id, or TRANSPORT_NO_DRIVER, so \"no driver\" is a facet\n * value. Computed when the transport is indexed.\n */\n driver?: string;\n /**\n * Where the transport happens: the delivery address, or the origin port for a shipped delivery.\n * Denormalised into one field because the map clusters over a single geo_point, and a port\n * delivery carries no address of its own.\n *\n * Deliberately narrower than `GPSCoord`: a geo_point field rejects any key beyond lat/lon, so\n * the map zoom the coordinates picker stores must not reach the index.\n */\n location?: Pick<GPSCoord, 'lat' | 'lon'>;\n locationSource?: TransportLocationSource;\n /**\n * Set when the organization is one of the group's own branches. Names rather than ids: the\n * branch usually belongs to another tenant, which the client cannot look up.\n */\n intercompany?: {\n tenantName: string;\n branchName: string;\n };\n };\n};\n\nexport type SearchTransportList = PaginatedList<SearchTransport, ReferenceData>;\n\n/**\n * The fields of a transport that the kanban board reads: its cards, its drag and drop, and the\n * drawer a card opens. The kanban search returns only these, so a reader of a field outside this\n * list gets nothing.\n */\nexport const KANBAN_TRANSPORT_ITEM_FIELDS = [\n 'transport',\n 'custom.commercialUserIds',\n 'custom.warnings',\n 'custom.payment',\n 'custom.intercompany',\n 'tasks.openTasks',\n 'org.id',\n 'org.name',\n 'org.countryCode',\n 'org.externalId',\n 'opportunity.branch',\n 'purchase.logistics.status',\n 'purchase.logistics.availableWeek',\n 'purchase.logistics.pickupAddress',\n 'vehicle.id',\n 'vehicle.internal.identification.stockNumber',\n 'vehicle.internal.identification.administrativeNumber',\n 'vehicle.internal.identification.branch',\n 'vehicle.internal.description.title',\n 'vehicle.external.identification.stockNumber',\n 'vehicle.external.identification.vin',\n 'vehicle.external.mainPicture.url',\n 'vehicle.external.condition.damaged',\n 'vehicle.external.general.category',\n] as const satisfies readonly FieldId<SearchTransport>[];\n\n/** A transport on the kanban board: its search document cut down to what the board reads. */\nexport type KanbanTransportItem = PickFieldIds<\n SearchTransport,\n (typeof KANBAN_TRANSPORT_ITEM_FIELDS)[number]\n>;\n\nexport type KanbanTransportGroup = {\n representative: KanbanTransportItem;\n items: KanbanTransportItem[];\n totalCount: number;\n /** Pass in nextTokens for this column to load more transports from the organization. */\n nextToken?: string;\n};\n\nexport type TransportKanbanColumn = {\n status: TransportStatus;\n results: KanbanTransportItem[];\n groups?: KanbanTransportGroup[];\n totalCount: number;\n};\n\nexport type MSearchTransportsKanbanColumn = {\n column: TransportKanbanColumn;\n nextToken?: string;\n};\n\nexport type KanbanTransportsSearchRequest = BaseSearchRequest & {\n nextTokens?: Record<string, string | undefined>;\n groupByOrganization?: boolean;\n statusSortBy?: Record<TransportStatus, { fieldId: string; order: SortOrder }[]>;\n};\n\nexport type KanbanTransportsNextList = Omit<\n NextList<TransportKanbanColumn, ReferenceData>,\n 'nextToken'\n> & {\n nextTokens?: Record<string, string | undefined>;\n};\n"]}
@@ -43,7 +43,13 @@ export type VehiclePurchasePaymentBff = {
43
43
  supplierName?: string;
44
44
  exportChecks?: PaymentExportChecks;
45
45
  };
46
+ export declare enum UnpaidPurchaseGroup {
47
+ Sold = "sold",
48
+ Arrived = "arrived",
49
+ Expected = "expected"
50
+ }
46
51
  export type UnpaidPurchase = {
52
+ group: UnpaidPurchaseGroup;
47
53
  vehicle: SearchVehicle;
48
54
  purchaseAmount: string;
49
55
  allowedAmount: string;
@@ -52,6 +58,10 @@ export type UnpaidPurchase = {
52
58
  invoiceDueDate?: string;
53
59
  supplierName?: string;
54
60
  };
61
+ export type UnpaidPurchasesMeta = {
62
+ canAllowPayment: boolean;
63
+ counts: Record<UnpaidPurchaseGroup, number>;
64
+ };
55
65
  export type ExportPaymentsRequest = {
56
66
  paymentIds: string[];
57
67
  debtorBankAccountId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"vehicle-purchase-payments.d.ts","sourceRoot":"/","sources":["types/vehicle-purchase-payments.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vehicle-purchase-payments.d.ts","sourceRoot":"/","sources":["types/vehicle-purchase-payments.ts"],"names":[],"mappings":"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"}
@@ -5,4 +5,10 @@ export var PaymentStage;
5
5
  PaymentStage["Processing"] = "processing";
6
6
  PaymentStage["Executed"] = "executed";
7
7
  })(PaymentStage || (PaymentStage = {}));
8
+ export var UnpaidPurchaseGroup;
9
+ (function (UnpaidPurchaseGroup) {
10
+ UnpaidPurchaseGroup["Sold"] = "sold";
11
+ UnpaidPurchaseGroup["Arrived"] = "arrived";
12
+ UnpaidPurchaseGroup["Expected"] = "expected";
13
+ })(UnpaidPurchaseGroup || (UnpaidPurchaseGroup = {}));
8
14
  //# sourceMappingURL=vehicle-purchase-payments.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vehicle-purchase-payments.js","sourceRoot":"/","sources":["types/vehicle-purchase-payments.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,oDAAoD,GAC/D,+CAA+C,CAAC;AASlD,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;AACvB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB","sourcesContent":["import { BaseEvent } from './internal-events.js';\nimport { OrganizationBankAccountActions } from './organization-bank-accounts.js';\nimport { SearchVehicle } from './vehicles.js';\n\nexport const VEHICLE_PURCHASE_PAYMENT_ALLOWED_NOTIFICATION_ORIGIN =\n 'vehicle-purchase-payment-allowed-notification';\n\n/**\n * The stage a supplier payment sits at, driving the Unpaid/Allowed/Processing/Executed tabs.\n * A payment only ever moves forward: an authorised payment is `allowed`; sending it to processing\n * groups it into a payment batch and hands it to accounting (`processing`), which exports it\n * to the Isabel bank file; marking it paid moves it to `executed`.\n * (`unpaid` is not a stage — it is an agreed purchase with an amount still to authorise.)\n */\nexport enum PaymentStage {\n Allowed = 'allowed',\n Processing = 'processing',\n Executed = 'executed',\n}\n\nexport type NewVehiclePurchasePayment = {\n vehicleId: string;\n amount: string;\n description?: string;\n paidAt?: string;\n paidBy?: string;\n};\n\nexport type VehiclePurchasePayment = NewVehiclePurchasePayment & {\n id: string;\n createdBy: string;\n createdAt: string;\n stage: PaymentStage;\n /** Manual settlement priority within the Allowed tab; lower is paid first. */\n priority: number;\n /** Set once the payment has been exported; links it to its payment export. */\n exportId?: string;\n /** The payment batch this payment was sent to processing in; unset while Allowed, and on payments\n * marked paid straight from Allowed. */\n paymentBatchId?: string;\n /**\n * Supplier-facing communication that becomes the SEPA transfer's remittance information (`RmtInf`),\n * so the supplier can reconcile the payment to an invoice. Editable while Processing and not yet\n * exported; prefilled from the latest purchase invoice. This is not the file's per-line\n * `EndToEndId`.\n */\n transferReference?: string;\n /** Who sent the payment to processing, and when — set at the Allowed → Processing step. */\n sentToProcessingBy?: string;\n sentToProcessingAt?: string;\n};\n\n/**\n * One send to processing: the Allowed payments an accountant moved to Processing together, and who\n * sent them. The Processing tab groups its rows by batch. A batch holds no amount of its own; its\n * total is the sum of the payments still in it.\n */\nexport type PaymentBatch = {\n id: string;\n createdAt: string;\n createdBy: string;\n};\n\n/**\n * Whether a payment's supplier can be paid in an export. Mirrors the export gate: a transfer needs a\n * supplier bank account that carries an IBAN and holder name and has been verified. Shown as an\n * export-blocked marker on the Processing rows, where the accountant clears it before exporting.\n * (The invoice / pro-forma document half of the gate is not reflected here — its source is a Q3\n * residual the backend export gate also defers.)\n *\n * The bank account is the supplier's default one, `bankAccountId`, which is the account an export\n * pays. `bankAccountActions` lists what the current user may do on it, so a row can point out the\n * accounts they can verify themselves. Once the account number or holder name changed, verify is\n * left out for accountants, and for whichever Senior Accountant made the change (four-eyes).\n */\nexport type PaymentExportChecks = {\n bankAccountId?: string;\n hasBankAccount: boolean;\n bankAccountVerified: boolean;\n bankAccountActions: OrganizationBankAccountActions[];\n};\n\nexport type VehiclePurchasePaymentBff = {\n payment: VehiclePurchasePayment;\n vehicle: SearchVehicle;\n /** Name of the supplier organisation (`vehicle.purchase.organizationId`), resolved for display. */\n supplierName?: string;\n /** Export checks on the supplier bank account; filled for the Processing list only. */\n exportChecks?: PaymentExportChecks;\n};\n\n/**\n * A row on the Unpaid tab: an agreed purchase that still has an amount to authorise for payment.\n * Derived from the purchase deal and the payments already authorised, not a payment record.\n */\nexport type UnpaidPurchase = {\n vehicle: SearchVehicle;\n /** The agreed purchase price including VAT (`deal.purchase` grossed up by `deal.purchaseVatRate`),\n * so it matches the VAT-inclusive cost the vehicle purchase tab authorises against. */\n purchaseAmount: string;\n /** Sum of amounts already authorised (payments in any stage) for this vehicle. */\n allowedAmount: string;\n /** Sum of the authorised amounts already settled (payments in Executed) for this vehicle. */\n paidAmount: string;\n /** `purchaseAmount − allowedAmount`; always greater than zero for rows shown here. */\n remainingAmount: string;\n /** Due date of the purchase invoice. */\n invoiceDueDate?: string;\n /** Name of the supplier organisation (`vehicle.purchase.organizationId`), resolved for display. */\n supplierName?: string;\n};\n\n/** Body of the export request: the Processing payments to put in one file, the paying account, and the execution date. */\nexport type ExportPaymentsRequest = {\n paymentIds: string[];\n /** The bank account (from documents settings) to pay the file from — the file's debtor. */\n debtorBankAccountId: string;\n /** Single execution date (`yyyy-MM-dd`) written to `ReqdExctnDt`; defaults to today. */\n executionDate?: string;\n};\n\n/** Body of the mark-paid request: the payments (Allowed or Processing) to settle in one call. */\nexport type MarkPaymentsPaidRequest = {\n paymentIds: string[];\n};\n\n/** Body of the send-to-processing request: the Allowed payments to send together as one batch. */\nexport type SendPaymentsToProcessingRequest = {\n paymentIds: string[];\n};\n\n/**\n * How many rows sit behind each payment tab, for the tab counters. Executed is unbounded and has no\n * counter, so it is left out.\n */\nexport type PurchasePaymentCounts = {\n unpaid: number;\n allowed: number;\n processing: number;\n};\n\nexport type VehiclePurchasePaymentCreateEvent = {\n payment: VehiclePurchasePayment;\n previousPayment?: undefined;\n action: 'create';\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\nexport type VehiclePurchasePaymentUpdateEvent = {\n payment: VehiclePurchasePayment;\n previousPayment: VehiclePurchasePayment;\n action: 'update';\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\nexport type VehiclePurchasePaymentDeleteEvent = {\n payment?: undefined;\n previousPayment: VehiclePurchasePayment;\n action: 'delete';\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\nexport type VehiclePurchasePaymentEvent = BaseEvent &\n (\n | VehiclePurchasePaymentCreateEvent\n | VehiclePurchasePaymentUpdateEvent\n | VehiclePurchasePaymentDeleteEvent\n );\n"]}
1
+ {"version":3,"file":"vehicle-purchase-payments.js","sourceRoot":"/","sources":["types/vehicle-purchase-payments.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,oDAAoD,GAC/D,+CAA+C,CAAC;AASlD,MAAM,CAAN,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,mCAAmB,CAAA;IACnB,yCAAyB,CAAA;IACzB,qCAAqB,CAAA;AACvB,CAAC,EAJW,YAAY,KAAZ,YAAY,QAIvB;AA8ED,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,0CAAmB,CAAA;IACnB,4CAAqB,CAAA;AACvB,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B","sourcesContent":["import { BaseEvent } from './internal-events.js';\nimport { OrganizationBankAccountActions } from './organization-bank-accounts.js';\nimport { SearchVehicle } from './vehicles.js';\n\nexport const VEHICLE_PURCHASE_PAYMENT_ALLOWED_NOTIFICATION_ORIGIN =\n 'vehicle-purchase-payment-allowed-notification';\n\n/**\n * The stage a supplier payment sits at, driving the Unpaid/Allowed/Processing/Executed tabs.\n * A payment only ever moves forward: an authorised payment is `allowed`; sending it to processing\n * groups it into a payment batch and hands it to accounting (`processing`), which exports it\n * to the Isabel bank file; marking it paid moves it to `executed`.\n * (`unpaid` is not a stage — it is an agreed purchase with an amount still to authorise.)\n */\nexport enum PaymentStage {\n Allowed = 'allowed',\n Processing = 'processing',\n Executed = 'executed',\n}\n\nexport type NewVehiclePurchasePayment = {\n vehicleId: string;\n amount: string;\n description?: string;\n paidAt?: string;\n paidBy?: string;\n};\n\nexport type VehiclePurchasePayment = NewVehiclePurchasePayment & {\n id: string;\n createdBy: string;\n createdAt: string;\n stage: PaymentStage;\n /** Manual settlement priority within the Allowed tab; lower is paid first. */\n priority: number;\n /** Set once the payment has been exported; links it to its payment export. */\n exportId?: string;\n /** The payment batch this payment was sent to processing in; unset while Allowed, and on payments\n * marked paid straight from Allowed. */\n paymentBatchId?: string;\n /**\n * Supplier-facing communication that becomes the SEPA transfer's remittance information (`RmtInf`),\n * so the supplier can reconcile the payment to an invoice. Editable while Processing and not yet\n * exported; prefilled from the latest purchase invoice. This is not the file's per-line\n * `EndToEndId`.\n */\n transferReference?: string;\n /** Who sent the payment to processing, and when — set at the Allowed → Processing step. */\n sentToProcessingBy?: string;\n sentToProcessingAt?: string;\n};\n\n/**\n * One send to processing: the Allowed payments an accountant moved to Processing together, and who\n * sent them. The Processing tab groups its rows by batch. A batch holds no amount of its own; its\n * total is the sum of the payments still in it.\n */\nexport type PaymentBatch = {\n id: string;\n createdAt: string;\n createdBy: string;\n};\n\n/**\n * Whether a payment's supplier can be paid in an export. Mirrors the export gate: a transfer needs a\n * supplier bank account that carries an IBAN and holder name and has been verified. Shown as an\n * export-blocked marker on the Processing rows, where the accountant clears it before exporting.\n * (The invoice / pro-forma document half of the gate is not reflected here — its source is a Q3\n * residual the backend export gate also defers.)\n *\n * The bank account is the supplier's default one, `bankAccountId`, which is the account an export\n * pays. `bankAccountActions` lists what the current user may do on it, so a row can point out the\n * accounts they can verify themselves. Once the account number or holder name changed, verify is\n * left out for accountants, and for whichever Senior Accountant made the change (four-eyes).\n */\nexport type PaymentExportChecks = {\n bankAccountId?: string;\n hasBankAccount: boolean;\n bankAccountVerified: boolean;\n bankAccountActions: OrganizationBankAccountActions[];\n};\n\nexport type VehiclePurchasePaymentBff = {\n payment: VehiclePurchasePayment;\n vehicle: SearchVehicle;\n /** Name of the supplier organisation (`vehicle.purchase.organizationId`), resolved for display. */\n supplierName?: string;\n /** Export checks on the supplier bank account; filled for the Processing list only. */\n exportChecks?: PaymentExportChecks;\n};\n\n/**\n * The group an unpaid purchase is listed under, in the order the Unpaid list shows them: sold to a\n * client (whether or not it has arrived), arrived on our park and not sold, or still expected —\n * neither sold nor arrived.\n */\nexport enum UnpaidPurchaseGroup {\n Sold = 'sold',\n Arrived = 'arrived',\n Expected = 'expected',\n}\n\n/**\n * A row on the Unpaid tab: an agreed purchase that still has an amount to authorise for payment.\n * Derived from the purchase deal and the payments already authorised, not a payment record.\n */\nexport type UnpaidPurchase = {\n group: UnpaidPurchaseGroup;\n vehicle: SearchVehicle;\n /** The agreed purchase price including VAT (`deal.purchase` grossed up by `deal.purchaseVatRate`),\n * so it matches the VAT-inclusive cost the vehicle purchase tab authorises against. */\n purchaseAmount: string;\n /** Sum of amounts already authorised (payments in any stage) for this vehicle. */\n allowedAmount: string;\n /** Sum of the authorised amounts already settled (payments in Executed) for this vehicle. */\n paidAmount: string;\n /** `purchaseAmount − allowedAmount`; always greater than zero for rows shown here. */\n remainingAmount: string;\n /** Due date of the purchase invoice. */\n invoiceDueDate?: string;\n /** Name of the supplier organisation (`vehicle.purchase.organizationId`), resolved for display. */\n supplierName?: string;\n};\n\n/** What a page of one Unpaid group carries besides its rows. */\nexport type UnpaidPurchasesMeta = {\n /** Whether the requester may authorise a payment, as on the vehicle purchase tab. */\n canAllowPayment: boolean;\n /** How many purchases each group holds, for the group headers. */\n counts: Record<UnpaidPurchaseGroup, number>;\n};\n\n/** Body of the export request: the Processing payments to put in one file, the paying account, and the execution date. */\nexport type ExportPaymentsRequest = {\n paymentIds: string[];\n /** The bank account (from documents settings) to pay the file from — the file's debtor. */\n debtorBankAccountId: string;\n /** Single execution date (`yyyy-MM-dd`) written to `ReqdExctnDt`; defaults to today. */\n executionDate?: string;\n};\n\n/** Body of the mark-paid request: the payments (Allowed or Processing) to settle in one call. */\nexport type MarkPaymentsPaidRequest = {\n paymentIds: string[];\n};\n\n/** Body of the send-to-processing request: the Allowed payments to send together as one batch. */\nexport type SendPaymentsToProcessingRequest = {\n paymentIds: string[];\n};\n\n/**\n * How many rows sit behind each payment tab, for the tab counters. Executed is unbounded and has no\n * counter, so it is left out.\n */\nexport type PurchasePaymentCounts = {\n unpaid: number;\n allowed: number;\n processing: number;\n};\n\nexport type VehiclePurchasePaymentCreateEvent = {\n payment: VehiclePurchasePayment;\n previousPayment?: undefined;\n action: 'create';\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\nexport type VehiclePurchasePaymentUpdateEvent = {\n payment: VehiclePurchasePayment;\n previousPayment: VehiclePurchasePayment;\n action: 'update';\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\nexport type VehiclePurchasePaymentDeleteEvent = {\n payment?: undefined;\n previousPayment: VehiclePurchasePayment;\n action: 'delete';\n actionAt: string;\n userId: string;\n tenantId: string;\n};\n\nexport type VehiclePurchasePaymentEvent = BaseEvent &\n (\n | VehiclePurchasePaymentCreateEvent\n | VehiclePurchasePaymentUpdateEvent\n | VehiclePurchasePaymentDeleteEvent\n );\n"]}
@@ -1,4 +1,4 @@
1
- import { Opportunity } from '../types/opportunities.js';
1
+ import { BusinessEntityIds } from '../constants.js';
2
2
  import { PickFieldIds } from '../types/search.js';
3
3
  import { SearchTransport, Transport } from '../types/transports.js';
4
4
  import { VehiclePurchase } from '../types/vehicles.js';
@@ -6,11 +6,15 @@ export declare const isPurchaseTransport: (transport: Pick<Transport, 'type'>) =
6
6
  export declare const isPurchaseDropOffTransport: (transport: Pick<Transport, 'type'> & {
7
7
  delivery: Pick<Transport['delivery'], 'type'>;
8
8
  }) => boolean;
9
- export declare const isTransportCompleted: (transport: Pick<Transport, 'type'>, context: {
10
- opportunity?: Pick<Opportunity, 'deliveredAt'>;
9
+ export declare const isTransportCompleted: (transport: Pick<Transport, 'type' | 'status'>, context?: {
11
10
  purchase?: {
12
11
  logistics: Pick<VehiclePurchase['logistics'], 'status'>;
13
12
  };
14
13
  }) => boolean;
15
- export declare const isSearchTransportCompleted: (record: PickFieldIds<SearchTransport, 'transport.type' | 'opportunity.deliveredAt' | 'purchase.logistics.status'>) => boolean;
14
+ export declare const isSearchTransportCompleted: (record: PickFieldIds<SearchTransport, 'transport.type' | 'transport.status' | 'purchase.logistics.status'>) => boolean;
15
+ export type TransportDocumentOwner = {
16
+ businessEntityId: BusinessEntityIds.Opportunities | BusinessEntityIds.Vehicles;
17
+ recordId: string;
18
+ };
19
+ export declare const getTransportDocumentOwner: (transport: Pick<Transport, 'type' | 'vehicleId' | 'opportunityId'>) => TransportDocumentOwner | undefined;
16
20
  //# sourceMappingURL=transports.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transports.d.ts","sourceRoot":"/","sources":["utils/transports.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAiB,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,eAAO,MAAM,mBAAmB,cAAe,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAG,OAC9B,CAAC;AAE5C,eAAO,MAAM,0BAA0B,cAC1B,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,KACrF,OAC2F,CAAC;AAc/F,eAAO,MAAM,oBAAoB,cACpB,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,WACzB;IACP,WAAW,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC/C,QAAQ,CAAC,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAA;KAAE,CAAC;CACxE,KACA,OAMF,CAAC;AAGF,eAAO,MAAM,0BAA0B,WAC7B,YAAY,CAClB,eAAe,EACf,gBAAgB,GAAG,yBAAyB,GAAG,2BAA2B,CAC3E,KACA,OAIC,CAAC"}
1
+ {"version":3,"file":"transports.d.ts","sourceRoot":"/","sources":["utils/transports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAkC,MAAM,wBAAwB,CAAC;AACpG,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,eAAO,MAAM,mBAAmB,cAAe,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAG,OAC9B,CAAC;AAE5C,eAAO,MAAM,0BAA0B,cAC1B,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAG;IAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC,CAAA;CAAE,KACrF,OAC2F,CAAC;AAiB/F,eAAO,MAAM,oBAAoB,cACpB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,YACpC;IAAE,QAAQ,CAAC,EAAE;QAAE,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,CAAA;KAAE,CAAA;CAAE,KAClF,OAMF,CAAC;AAGF,eAAO,MAAM,0BAA0B,WAC7B,YAAY,CAClB,eAAe,EACf,gBAAgB,GAAG,kBAAkB,GAAG,2BAA2B,CACpE,KACA,OAAgF,CAAC;AAEpF,MAAM,MAAM,sBAAsB,GAAG;IACnC,gBAAgB,EAAE,iBAAiB,CAAC,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC;IAC/E,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAMF,eAAO,MAAM,yBAAyB,cACzB,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,eAAe,CAAC,KACjE,sBAAsB,GAAG,SAQ3B,CAAC"}
@@ -1,16 +1,22 @@
1
+ import { BusinessEntityIds } from '../constants.js';
1
2
  import { PurchaseDeliveryTypes } from '../types/deliveries.js';
2
- import { TransportType } from '../types/transports.js';
3
+ import { TransportStatus, TransportType } from '../types/transports.js';
3
4
  import { hasPurchaseArrived } from './vehicles.js';
4
5
  export const isPurchaseTransport = (transport) => transport.type === TransportType.Purchase;
5
6
  export const isPurchaseDropOffTransport = (transport) => isPurchaseTransport(transport) && transport.delivery.type === PurchaseDeliveryTypes.DROP_OFF;
6
- export const isTransportCompleted = (transport, context) => {
7
+ export const isTransportCompleted = (transport, context = {}) => {
7
8
  if (transport.type === TransportType.Sale) {
8
- return context.opportunity?.deliveredAt != null;
9
+ return transport.status === TransportStatus.Done;
9
10
  }
10
11
  return context.purchase != null && hasPurchaseArrived(context.purchase);
11
12
  };
12
- export const isSearchTransportCompleted = (record) => isTransportCompleted(record.transport, {
13
- opportunity: record.opportunity,
14
- purchase: record.purchase,
15
- });
13
+ export const isSearchTransportCompleted = (record) => isTransportCompleted(record.transport, { purchase: record.purchase });
14
+ export const getTransportDocumentOwner = (transport) => {
15
+ if (isPurchaseTransport(transport)) {
16
+ return { businessEntityId: BusinessEntityIds.Vehicles, recordId: transport.vehicleId };
17
+ }
18
+ return transport.opportunityId == null
19
+ ? undefined
20
+ : { businessEntityId: BusinessEntityIds.Opportunities, recordId: transport.opportunityId };
21
+ };
16
22
  //# sourceMappingURL=transports.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transports.js","sourceRoot":"/","sources":["utils/transports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAG/D,OAAO,EAA8B,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEnF,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAkC,EAAW,EAAE,CACjF,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,CAAC;AAE5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,SAAsF,EAC7E,EAAE,CACX,mBAAmB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,qBAAqB,CAAC,QAAQ,CAAC;AAc/F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAAkC,EAClC,OAGC,EACQ,EAAE;IACX,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;QAC1C,OAAO,OAAO,CAAC,WAAW,EAAE,WAAW,IAAI,IAAI,CAAC;IAClD,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC1E,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,MAGC,EACQ,EAAE,CACX,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE;IACrC,WAAW,EAAE,MAAM,CAAC,WAAW;IAC/B,QAAQ,EAAE,MAAM,CAAC,QAAQ;CAC1B,CAAC,CAAC","sourcesContent":["import { PurchaseDeliveryTypes } from '../types/deliveries.js';\nimport { Opportunity } from '../types/opportunities.js';\nimport { PickFieldIds } from '../types/search.js';\nimport { SearchTransport, Transport, TransportType } from '../types/transports.js';\nimport { VehiclePurchase } from '../types/vehicles.js';\nimport { hasPurchaseArrived } from './vehicles.js';\n\nexport const isPurchaseTransport = (transport: Pick<Transport, 'type'>): boolean =>\n transport.type === TransportType.Purchase;\n\nexport const isPurchaseDropOffTransport = (\n transport: Pick<Transport, 'type'> & { delivery: Pick<Transport['delivery'], 'type'> },\n): boolean =>\n isPurchaseTransport(transport) && transport.delivery.type === PurchaseDeliveryTypes.DROP_OFF;\n\n/**\n * A transport is finished when the journey it describes has demonstrably happened: the customer has\n * the vehicle for a sale delivery, the vehicle is on our park for a purchase. From then on\n * the record is history and the server refuses edits to it.\n *\n * Not the same thing as the transport's own `doneAt`. Delivery can be declared on the opportunity\n * (a CMR, a delivery confirmation) and arrival on the purchase, without the transport ever being\n * moved — and reversing either of those is what unlocks the transport again, which a status stamped\n * on the transport itself could not express.\n *\n * Shared so the board, the drawer and the server all answer the question the same way.\n */\nexport const isTransportCompleted = (\n transport: Pick<Transport, 'type'>,\n context: {\n opportunity?: Pick<Opportunity, 'deliveredAt'>;\n purchase?: { logistics: Pick<VehiclePurchase['logistics'], 'status'> };\n },\n): boolean => {\n if (transport.type === TransportType.Sale) {\n return context.opportunity?.deliveredAt != null;\n }\n\n return context.purchase != null && hasPurchaseArrived(context.purchase);\n};\n\n/** The same question asked of a search document, which already carries both sides. */\nexport const isSearchTransportCompleted = (\n record: PickFieldIds<\n SearchTransport,\n 'transport.type' | 'opportunity.deliveredAt' | 'purchase.logistics.status'\n >,\n): boolean =>\n isTransportCompleted(record.transport, {\n opportunity: record.opportunity,\n purchase: record.purchase,\n });\n"]}
1
+ {"version":3,"file":"transports.js","sourceRoot":"/","sources":["utils/transports.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAA8B,eAAe,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEpG,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEnD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,SAAkC,EAAW,EAAE,CACjF,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,QAAQ,CAAC;AAE5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,SAAsF,EAC7E,EAAE,CACX,mBAAmB,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,KAAK,qBAAqB,CAAC,QAAQ,CAAC;AAiB/F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,SAA6C,EAC7C,OAAO,GAA+E,EAAE,EAC/E,EAAE;IACX,IAAI,SAAS,CAAC,IAAI,KAAK,aAAa,CAAC,IAAI,EAAE,CAAC;QAC1C,OAAO,SAAS,CAAC,MAAM,KAAK,eAAe,CAAC,IAAI,CAAC;IACnD,CAAC;IAED,OAAO,OAAO,CAAC,QAAQ,IAAI,IAAI,IAAI,kBAAkB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;AAC1E,CAAC,CAAC;AAGF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,MAGC,EACQ,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAWpF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,SAAkE,EAC9B,EAAE;IACtC,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAC,SAAS,EAAE,CAAC;IACzF,CAAC;IAED,OAAO,SAAS,CAAC,aAAa,IAAI,IAAI;QACpC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,aAAa,EAAE,QAAQ,EAAE,SAAS,CAAC,aAAa,EAAE,CAAC;AAC/F,CAAC,CAAC","sourcesContent":["import { BusinessEntityIds } from '../constants.js';\nimport { PurchaseDeliveryTypes } from '../types/deliveries.js';\nimport { PickFieldIds } from '../types/search.js';\nimport { SearchTransport, Transport, TransportStatus, TransportType } from '../types/transports.js';\nimport { VehiclePurchase } from '../types/vehicles.js';\nimport { hasPurchaseArrived } from './vehicles.js';\n\nexport const isPurchaseTransport = (transport: Pick<Transport, 'type'>): boolean =>\n transport.type === TransportType.Purchase;\n\nexport const isPurchaseDropOffTransport = (\n transport: Pick<Transport, 'type'> & { delivery: Pick<Transport['delivery'], 'type'> },\n): boolean =>\n isPurchaseTransport(transport) && transport.delivery.type === PurchaseDeliveryTypes.DROP_OFF;\n\n/**\n * A transport is finished when the journey it describes is over. From then on the record is\n * history and the server refuses edits to it.\n *\n * A sale delivery is over when the transport itself is at Done: the transport drives the deal's\n * delivery, not the other way around, so a deal delivered some other way (a CMR or the Deliver\n * action, before that rule) does not lock a transport that never got there. Moving it out of Done\n * unlocks it again.\n *\n * A purchase is over when the vehicle is on our park. The park declares the arrival on the purchase,\n * without the transport ever being moved, and putting the purchase back to At origin is what\n * unlocks the transport again.\n *\n * Shared so the board, the drawer and the server all answer the question the same way.\n */\nexport const isTransportCompleted = (\n transport: Pick<Transport, 'type' | 'status'>,\n context: { purchase?: { logistics: Pick<VehiclePurchase['logistics'], 'status'> } } = {},\n): boolean => {\n if (transport.type === TransportType.Sale) {\n return transport.status === TransportStatus.Done;\n }\n\n return context.purchase != null && hasPurchaseArrived(context.purchase);\n};\n\n/** The same question asked of a search document, which already carries the purchase. */\nexport const isSearchTransportCompleted = (\n record: PickFieldIds<\n SearchTransport,\n 'transport.type' | 'transport.status' | 'purchase.logistics.status'\n >,\n): boolean => isTransportCompleted(record.transport, { purchase: record.purchase });\n\nexport type TransportDocumentOwner = {\n businessEntityId: BusinessEntityIds.Opportunities | BusinessEntityIds.Vehicles;\n recordId: string;\n};\n\n/**\n * Where a transport's documents are filed. A transport owns none: a sale's belong to the deal and a\n * purchase's to the vehicle, whose purchase tab lists them. Undefined for a sale without a deal.\n */\nexport const getTransportDocumentOwner = (\n transport: Pick<Transport, 'type' | 'vehicleId' | 'opportunityId'>,\n): TransportDocumentOwner | undefined => {\n if (isPurchaseTransport(transport)) {\n return { businessEntityId: BusinessEntityIds.Vehicles, recordId: transport.vehicleId };\n }\n\n return transport.opportunityId == null\n ? undefined\n : { businessEntityId: BusinessEntityIds.Opportunities, recordId: transport.opportunityId };\n};\n"]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=transports.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transports.test.d.ts","sourceRoot":"/","sources":["utils/transports.test.ts"],"names":[],"mappings":""}