Commit Graph
1116 Commits
Author SHA1 Message Date
Jeppe Bundgaard 6e887b315f Introduce a centralized search service with OpenAI-powered intent parsing and caching 2026-03-12 20:14:06 +01:00
Jeppe Bundgaard f651309d6a Add caching for Economic V2 distribution responses and optimize service methods with localized in-memory caches 2026-03-12 19:32:57 +01:00
Jeppe Bundgaard 69c7c834d9 Update OpenAPI spec to add InvoicingWashSubscriptionsDistributionResponse schema and reference it in the related endpoint 2026-03-12 18:51:10 +01:00
Jeppe Bundgaard 4ef20a1c90 Add economic V2 modules for history backfill, comparison, and distribution services. 2026-03-12 17:57:27 +01:00
Jeppe Bundgaard 72454ff328 Update OpenAPI spec to include application/json response schemas and add optional request bodies where applicable 2026-03-12 16:51:18 +01:00
Jeppe Bundgaard 4523115584 Introduce centralized date normalization and duplicate filtering for invoicing logic, and add comprehensive unit tests 2026-03-12 16:09:54 +01:00
Jeppe Bundgaard 2ca29a77f1 Optimize order and transaction processing logic with caching, and implement opt-in Slack summaries to reduce request latency. 2026-03-12 16:00:57 +01:00
Jeppe Bundgaard 07dab83e36 Add caching for department metadata and invoicing exclusion checks, optimize department resolution logic in invoicing route 2026-03-12 14:40:47 +01:00
Jeppe Bundgaard 0deeb7f121 Add scripts to clone live DB into debug DB for local development 2026-03-12 14:10:06 +01:00
Jeppe Bundgaard c78ea57409 Add mysql-debug to local development stack and update related configurations 2026-03-12 13:48:07 +01:00
Jeppe Bundgaard 5cb197898d Improve live DB clone speed 2026-03-12 13:26:22 +01:00
Jeppe Bundgaard e91dda0799 Add run scripts and actions setup 2026-03-12 12:27:46 +01:00
Jeppe Bundgaard e7ff44bf50 Return vehicle subscriptions array 2026-03-12 12:19:59 +01:00
Jeppe Bundgaard ddc45bf206 Update getCustomersWithVehicleSubscriptions to exclude fixed pricing customers and remove unused return statement in invoicing route 2026-03-12 12:17:52 +01:00
Jeppe Bundgaard be358309d6 Add schema definitions for InvoicingFixedPricingDistributionResponse and related components in OpenAPI spec 2026-03-12 11:26:25 +01:00
Jeppe Bundgaard bd36540f2b Add schema definitions and responses for Weather API endpoints in OpenAPI spec 2026-03-12 09:19:17 +01:00
Jeppe B 9002b3a113 Merge pull request #139 from copenhagentruckwash/document-canonical-relationship-model-for-entities
Clarify canonical self-serve relationships and condition/question naming intent
2026-03-12 08:49:50 +01:00
Jeppe B fd389cf1a4 Merge pull request #141 from copenhagentruckwash/add-weatherapi-module-implementation-6ti277
Add WeatherAPI module with routes, config and OpenAPI definitions
2026-03-12 08:49:33 +01:00
Jeppe B 87c442040f Merge branch 'master' into add-weatherapi-module-implementation-6ti277 2026-03-12 08:49:24 +01:00
Jeppe B 7835f068b6 Merge pull request #140 from copenhagentruckwash/add-weatherapi-module-implementation
Add WeatherAPI module, config and department weather timeline endpoints
2026-03-11 14:52:16 +01:00
Jeppe B 3607aef2ca Align WeatherAPI OpenAPI schemas with actual response envelopes 2026-03-11 14:37:37 +01:00
Jeppe Bundgaard 36c9472a40 Integrate historical data into weather forecast, sort timeline entries, and update local development server URL in OpenAPI configuration. 2026-03-11 14:31:39 +01:00
Jeppe B 527e6a9ec4 Document WeatherAPI and department weather endpoints in OpenAPI 2026-03-11 13:56:29 +01:00
Jeppe B 3ec338457e Clarify self-serve entity relationships and naming intent 2026-03-11 13:54:11 +01:00
Jeppe Bundgaard 6713a67eb5 Update generateDirectDownloadUrl to use static https://api.truckwash.io host and simplify URL generation logic 2026-03-11 11:25:53 +01:00
Jeppe Bundgaard 44a0146c9f Enable permission checks, adjust weekly iteration logic, and update cache key for department weekly results functionality 2026-03-11 11:21:14 +01:00
Jeppe Bundgaard ed19a7482d Add offset support to getFieldsWhereContaining for enhanced query control 2026-03-11 11:07:48 +01:00
Jeppe Bundgaard 15a7a7b8a5 Add weekly department results route, enhance date handling in invoicing and statistics logic, and improve Slack notification configuration 2026-03-11 10:52:49 +01:00
Jeppe Bundgaard 4945abfd8e Add new route for superuser invoicing period distribution and enhance date handling logic 2026-03-10 11:01:11 +01:00
Jeppe Bundgaard d82c7d88ec Implement Bird gate IVR flow 2026-03-09 11:03:45 +01:00
Jeppe Bundgaard 682bf8151c Introduce Bird module with API integration for voice calls and number management, along with configurable channelId and workplaceId. 2026-03-09 10:18:16 +01:00
Jeppe Bundgaard 16bcc3a00c Add custom monthly target calculation in goals_progress_alert_renderer for specific periods. 2026-03-09 09:58:48 +01:00
Jeppe B dd4c9da86c Merge pull request #137
Add Bird voice webhook handler for automated gate opening and tighten test call number handling
2026-03-09 09:47:01 +01:00
Jeppe Bundgaard 6bb026ad61 Merge remote-tracking branch 'origin/codex/setup-ingoing-call-automation-for-bird' into codex/setup-ingoing-call-automation-for-bird
# Conflicts:
#	services/nginx/app/routes/birdVoiceWebhooksRoute.php
2026-03-09 09:46:39 +01:00
Jeppe Bundgaard 5d1980768a Refactor birdVoiceWebhooksRoute to simplify gate handling by removing single-gate auto-selection logic, enhance multi-gate prompt text, and improve configuration parsing in callGateToOpen. 2026-03-04 16:11:54 +01:00
Jeppe Bundgaard d24a2c7cec Refactor birdVoiceWebhooksRoute to simplify gate handling by removing single-gate auto-selection logic, enhance multi-gate prompt text, and improve configuration parsing in callGateToOpen. 2026-03-04 14:39:30 +01:00
Jeppe Bundgaard 72a4c91e5f Refactor Bird API client to extract reusable executeCallAndHangupWhenAccepted method, update callGateAndHangupWhenAccepted and test outbound call logic to use shared implementation, and enhance timeout handling. 2026-03-04 14:24:11 +01:00
Jeppe Bundgaard da8a01479b Add callGateAndHangupWhenAccepted method to Bird API client, refactor gate opening logic in birdVoiceWebhooksRoute, and implement separate entrance/exit gate handling in department_gates_o. 2026-03-04 14:16:53 +01:00
Jeppe Bundgaard 342209fd2f Add input gathering feature to Bird API client and routes, integrate multi-gate selection flow in birdVoiceWebhooksRoute, and enhance error handling for invalid or expired sessions. 2026-03-04 13:43:19 +01:00
Jeppe Bundgaard 84ba2a1fad Localize user-facing messages in birdVoiceWebhooksRoute to Danish. 2026-03-04 13:25:28 +01:00
Jeppe Bundgaard 4f5ce36667 Simplify getCallerDepartments in birdVoiceWebhooksRoute by removing redundant user and subuser handling, reducing logic to fetch visible department IDs. 2026-03-04 13:20:23 +01:00
Jeppe Bundgaard db41842162 Enhance birdVoiceWebhooksRoute to handle automated gate opening via inbound calls, introduce gate/relay identification methods, refactor phone normalization logic, and improve error handling for unmatched destinations and departments. 2026-03-04 13:13:37 +01:00
Jeppe Bundgaard 96629cba0d Add sayMessage method to Bird API client, extend birdVoiceWebhooksRoute with TTS capability for inbound calls, introduce /bird/voice/calls/{id}/say route, and update OpenAPI spec accordingly. 2026-03-04 12:47:44 +01:00
Jeppe B cc4e59a3e5 Fix inbound caller detection for Bird voice webhooks 2026-03-04 11:35:49 +01:00
Jeppe B 37f0f280d8 Adjust Bird inbound department prompt to press-digit menu 2026-03-04 11:17:57 +01:00
Jeppe Bundgaard a69df10b77 Add birdVoiceWebhooksRoute to handle incoming voice call webhooks, support fallback workspace and channel configuration, and send Slack notifications for inbound calls 2026-03-04 10:57:17 +01:00
Jeppe Bundgaard 3d2e8396cc Replace inline schemas with reusable BirdVoiceCallListResponse, BirdVoiceCallSingleResponse, and BirdTestOutboundCallResponse components in OpenAPI spec, define new BirdVoiceCall schema, and require permissions for Bird voice call listing 2026-03-04 10:50:10 +01:00
Jeppe Bundgaard cbac9181f6 Refactor Bird API routes to support fallback workspace and channel configuration, centralize helper methods, and update OpenAPI spec to reflect optional parameters. 2026-03-04 10:42:33 +01:00
Jeppe Bundgaard 98203282ba Replace inline schemas with reusable BirdNumberListResponse and BirdNumberSingleResponse components in OpenAPI spec, and define new BirdNumber and BirdNumberCapability schemas. 2026-03-04 10:31:32 +01:00
Jeppe Bundgaard 70b7f5de87 Add workspace support to Bird numbers API and update routes, methods, and tests accordingly 2026-03-04 10:28:36 +01:00