# GetAvailableTimeSlots - Get available appointment time slots based on the provided visit and move details

This API performs a two-step process:
1. Payload Validation – Before retrieving slots, the API validates the submitted data.
If critical errors are found (e.g., missing or invalid fields), the request will return
appropriate validation messages without proceeding to slot retrieval.
2. Slot Lookup – If the payload passes validation without any critical errors,
the API proceeds to search for and return a list of available appointment slots
that match the specified criteria.

Endpoint: POST /api/appointment/getavailabletimeslots
Version: 1.0

## Header parameters:

  - `X-Cargosprint-Api-Key` (string, required)
    The company API key provided by Cargosprint.

  - `X-Cargosprint-User-Key` (string, required)
    The API key of the user to be impersonated.

## Request body:

  - `application/json` (unknown)
    The request containing visit and move details for slot lookup.

## Request fields (application/json):

  - `visit` (object, required)

  - `visit.truckVisit_Id` (integer)

  - `visit.truckPlate_Num` (string)

  - `visit.facility_Cd` (string, required)

  - `visit.moves` (array, required)

  - `visit.moves.gateAppt_Id` (integer)

  - `visit.moves.apptType_Cd` (string, required)

  - `visit.moves.cargoRef_Num` (string)

  - `visit.moves.container_Num` (string)

  - `visit.moves.shippingLine_Cd` (string)

  - `visit.moves.equipmentIso_Cd` (string)

  - `visit.moves.piN_Num` (string)

  - `visit.moves.isOwnChs` (boolean)

  - `visit.moves.chassis_Num` (string)

  - `visit.moves.seal1_Num` (string)

  - `visit.moves.seal2_Num` (string)

  - `visit.moves.seal3_Num` (string)

  - `visit.moves.seal4_Num` (string)

  - `validate` (string)

## Response 200:

  - `200` (unknown)
    Available time slots retrieved successfully (may include validation messages).

## Response 200 fields (application/json):

  - `visit` (object)

  - `visit.request_Source_Identifier` (string)

  - `visit.truckVisit_Id` (integer)

  - `visit.truckPlate_Num` (string)

  - `visit.facility_Cd` (string)

  - `visit.messages` (array)

  - `visit.messages.truckVisit_Id` (integer)

  - `visit.messages.gateApptErr_Num` (integer)

  - `visit.messages.gateApptErr_Dsc` (string)

  - `visit.messages.errSeverity_Ind` (integer)

  - `visit.moves` (array)

  - `visit.moves.gateAppt_Id` (integer)

  - `visit.moves.apptType_Cd` (string)

  - `visit.moves.cargoRef_Num` (string)

  - `visit.moves.container_Num` (string)

  - `visit.moves.shippingLine_Cd` (string)

  - `visit.moves.equipmentIso_Cd` (string)

  - `visit.moves.piN_Num` (string)

  - `visit.moves.isOwnChs` (boolean)

  - `visit.moves.chassis_Num` (string)

  - `visit.moves.seal1_Num` (string)

  - `visit.moves.seal2_Num` (string)

  - `visit.moves.seal3_Num` (string)

  - `visit.moves.seal4_Num` (string)

  - `visit.moves.messages` (array)

  - `visit.moves.messages.gateAppt_Id` (integer)

  - `visit.moves.messages.gateApptErr_Num` (integer)

  - `visit.moves.messages.gateApptErr_Dsc` (string)

  - `visit.moves.messages.errSeverity_Ind` (integer)

  - `visit.slots` (array)

  - `visit.slots.start_DtTm` (string)

  - `visit.slots.end_DtTm` (string)

  - `visit.slots.recommended` (string)

  - `visit.slots.poolId` (integer)

  - `visit.slots.availableCount` (integer)

  - `visit.slots.asscociatedMovePoolIds` (array)

## Response 400:

  - `400` (unknown)
    Bad request due to missing or invalid required fields.

## Response 400 fields (application/json):

  - `type` (string)

  - `title` (string)

  - `status` (integer)

  - `detail` (string)

  - `instance` (string)

## Response 401:

  - `401` (unknown)
    Unauthorized. The client must authenticate itself to get the requested response.

## Response 401 fields (application/json):

  - `type` (string)

  - `title` (string)

  - `status` (integer)

  - `detail` (string)

  - `instance` (string)

## Response 403:

  - `403` (unknown)
    Forbidden. The client does not have access rights to the content.

## Response 403 fields (application/json):

  - `type` (string)

  - `title` (string)

  - `status` (integer)

  - `detail` (string)

  - `instance` (string)

## Response 500:

  - `500` (unknown)
    An internal server error occurred.

