Index: src/app/manager/create-delivery/create-delivery.component.ts
===================================================================
--- src/app/manager/create-delivery/create-delivery.component.ts	(revision f16a4053009d6b32b8cae21821489c82300e54a2)
+++ src/app/manager/create-delivery/create-delivery.component.ts	(revision b5b5931bfb0cc39e2f0a1ff90ef706c1d08b11c7)
@@ -54,4 +54,9 @@
   ngOnInit() {
     this.loadInitialData();
+    this.deliveryForm.get('deliveryDate')?.valueChanges.subscribe((date) => {
+      if (date) {
+        this.loadAvailableVehicles(date);
+      }
+    });
   }
 
@@ -59,5 +64,4 @@
     this.isLoading = true;
 
-    // Load cities and vehicles
     this.managerService.getAvailableCities().subscribe({
       next: (cities) => (this.cities = cities),
@@ -65,12 +69,10 @@
     });
 
-    this.managerService.getAvailableVehicles().subscribe({
-      next: (vehicles) => (this.vehicles = vehicles),
-      error: (error) => this.handleError('Failed to load vehicles', error),
-    });
-
-    // Load warehouse stock
-    this.managerService.getWarehouseStock(1).subscribe({
-      // Replace with actual warehouse ID
+    const initialDate = this.deliveryForm.get('deliveryDate')?.value;
+    if (initialDate) {
+      this.loadAvailableVehicles(initialDate);
+    }
+
+    this.managerService.getWarehouseStock().subscribe({
       next: (stock) => (this.warehouseStock = stock),
       error: (error) =>
@@ -109,4 +111,22 @@
       this.deliveryForm.patchValue({ selectedVehicle: vehicleId });
     }
+  }
+
+  loadAvailableVehicles(deliveryDate: string) {
+    this.managerService.getAvailableVehicles(deliveryDate).subscribe({
+      next: (vehicles) => {
+        this.vehicles = vehicles;
+        // Reset selected vehicle if it's no longer available
+        if (
+          this.selectedVehicle &&
+          !vehicles.find((v) => v.veh_id === this.selectedVehicle!.veh_id)
+        ) {
+          this.selectedVehicle = null;
+          this.maxWeight = 0;
+          this.deliveryForm.patchValue({ selectedVehicle: null });
+        }
+      },
+      error: (error) => this.handleError('Failed to load vehicles', error),
+    });
   }
 
@@ -119,5 +139,4 @@
       .subscribe({
         next: (orders) => {
-          // Sort by oldest first
           this.availableOrders = orders.sort(
             (a, b) =>
@@ -130,9 +149,15 @@
   }
 
+  onDeliveryDateChange(event: any) {
+    const selectedDate = event.target.value;
+    if (selectedDate) {
+      this.loadAvailableVehicles(selectedDate);
+    }
+  }
+
   onOrderSelectionChange(order: Order, event: any) {
     const isChecked = event.target.checked;
 
     if (isChecked) {
-      // Check if adding this order would exceed vehicle capacity
       const newWeight = this.currentWeight + (order.totalWeight || 0);
       if (newWeight > this.maxWeight) {
@@ -144,5 +169,4 @@
       }
 
-      // Check stock availability
       if (!this.checkStockAvailability(order)) {
         event.target.checked = false;
@@ -205,5 +229,5 @@
       del_date_created: new Date(),
       veh_id: this.selectedVehicle?.veh_id,
-      d_status_id: 1, // Pending status
+      d_status_id: 1,
       orderIds: this.selectedOrders.map((o) => o.ord_id),
     };
Index: src/app/services/manager.service.ts
===================================================================
--- src/app/services/manager.service.ts	(revision f16a4053009d6b32b8cae21821489c82300e54a2)
+++ src/app/services/manager.service.ts	(revision b5b5931bfb0cc39e2f0a1ff90ef706c1d08b11c7)
@@ -5,5 +5,5 @@
 import { Manager } from '../models/manager.model';
 import { FinancialSummary } from '../models/financial-summary.model';
-import { ProForma, ProFormaResponseDto } from '../models/pro-forma-dtos.model';
+import {  ProFormaResponseDto } from '../models/pro-forma-dtos.model';
 import { Driver } from '../models/driver.model';
 import { Vehicle } from '../models/vehicle.model';
@@ -59,22 +59,29 @@
 
   getAvailableCities(): Observable<City[]> {
-  return this.http.get<City[]>(`${environment.apiUrl}/manager/cities`);
+  return this.http.get<City[]>(`${environment.apiUrl}/cities/manager/available-cities`);
 }
 
-getAvailableVehicles(): Observable<Vehicle[]> {
-  return this.http.get<Vehicle[]>(`${environment.apiUrl}/manager/vehicles`);
+
+  getAvailableVehicles(deliveryDate?: string): Observable<Vehicle[]> {
+  let params = new HttpParams();
+  if (deliveryDate) {
+    params = params.set('deliveryDate', deliveryDate);
+  }
+  return this.http.get<Vehicle[]>(`${environment.apiUrl}/manager/vehicles/available`, { params });
 }
 
-getUnassignedOrdersByCities(cityIds: number[]): Observable<Order[]> {
-  const params = new HttpParams().set('cityIds', cityIds.join(','));
-  return this.http.get<Order[]>(`${environment.apiUrl}/manager/orders/unassigned`, { params });
+  // TODO: Implement in backend
+  getUnassignedOrdersByCities(cityIds: number[]): Observable<Order[]> {
+    const params = new HttpParams().set('cityIds', cityIds.join(','));
+    return this.http.get<Order[]>(`${environment.apiUrl}/orders/manager/unassigned-by-city`, { params });
+  }
+
+  // TODO: Implement in backend
+  getWarehouseStock(): Observable<any[]> {
+    return this.http.get<any[]>(`${environment.apiUrl}/warehouse/manager/stock`);
+  }
+
+  createDelivery(deliveryData: any): Observable<Delivery> {
+    return this.http.post<Delivery>(`${environment.apiUrl}/delivery/manager/create`, deliveryData);
+  }
 }
-
-getWarehouseStock(warehouseId: number): Observable<any[]> {
-  return this.http.get<any[]>(`${environment.apiUrl}/manager/warehouse/${warehouseId}/stock`);
-}
-
-createDelivery(deliveryData: any): Observable<Delivery> {
-  return this.http.post<Delivery>(`${environment.apiUrl}/manager/delivery/create`, deliveryData);
-}
-}
