enhance contract and booking services with server-side search and validation improvements

- Added  parameter to  and  for server-side free-text search on contract reference, company name, and booking details.
- Introduced new validation errors in  for container clashes and space issues when creating bookings.
- Implemented paginated dropdown settings retrieval in .
- Updated  to fetch active yards using a new method that handles pagination.
- Enhanced  with a  method to fetch all records by walking through pages.
- Refactored  to support filtering and pagination in schedule listings.
- Improved  to return a paginated list of facilities.
- Updated UI components in  and  to utilize debounced search inputs for better performance.
- Added alerts in  to inform users about booking constraints related to splits and capacity.
- Enhanced  to display notifications for split bookings and capacity usage.
This commit is contained in:
Marshal
2026-07-12 10:51:31 +00:00
parent 6695c5448e
commit 4b7f6d2548
108 changed files with 3187 additions and 1368 deletions

View File

@@ -604,6 +604,16 @@ export interface IBooking extends BaseEntity {
latestChangeRequestNote?: string | null;
contractSummary?: string | null;
pricingBreakdown?: PricingBreakdown | null;
/**
* The customer paid a partial batch offer and this booking was reduced to
* the offered part. On a ONE_TIME contract this frees the single-booking
* slot for the remainder: the next booking must take the whole leftover
* quantity (the contract kind itself never changes).
*/
isSplit?: boolean;
/** What this booking carried before it was reduced by a split (bulk tons / units per size). */
preSplitQuantities?: { bulkTons?: number; bySize?: Record<string, number> } | null;
}
export interface PricingBreakdownLineItem {