28 lines
672 B
TypeScript
28 lines
672 B
TypeScript
/**
|
|
* ValidateAvailabilityPort (API Port - Input)
|
|
*
|
|
* Defines the interface for validating container availability
|
|
*/
|
|
|
|
export interface AvailabilityInput {
|
|
rateQuoteId: string;
|
|
quantity: number; // Number of containers requested
|
|
}
|
|
|
|
export interface AvailabilityOutput {
|
|
isAvailable: boolean;
|
|
availableQuantity: number;
|
|
requestedQuantity: number;
|
|
rateQuoteId: string;
|
|
validUntil: Date;
|
|
}
|
|
|
|
export interface ValidateAvailabilityPort {
|
|
/**
|
|
* Validate if containers are available for a rate quote
|
|
* @param input - Availability check parameters
|
|
* @returns Availability status
|
|
*/
|
|
execute(input: AvailabilityInput): Promise<AvailabilityOutput>;
|
|
}
|