// ###############################################################
// Copyright(c) Carl Zeiss AG, Germany. All Rights Reserved.
//
// Permission is granted to use and distribute this code,
// as long as this copyright notice remains part of the code.
// ###############################################################

syntax = "proto3";
package zen_api.lm.slide_scan.v1;
import "zen_api/lm/slide_scan/v1/slide_information.proto";
import "zen_api/lm/slide_scan/v1/tray_slot_state.proto";
import "zen_api/lm/slide_scan/v1/tray_type.proto";
import "zen_api/lm/slide_scan/v1/tray_working_state.proto";

// TrayInformation contains information about an Axioscan tray.
message TrayInformation {
   // The position of the tray inside the Axioscan magazine in the range of [1, 26].
   int32 position = 1;
   // The ZenApi.LM.SlideScan.V1.TrayType of the tray. The type determines the number of possible slides on the tray.
   TrayType type = 2;
   // The ZenApi.LM.SlideScan.V1.TrayWorkingState of the tray. The working state of the entire tray.
   TrayWorkingState working_state = 3;
   // The ZenApi.LM.SlideScan.V1.TraySlotState of the tray. The status of the tray slot ( open/closed statuses).
   TraySlotState slot_state = 4;
   // ZenApi.LM.SlideScan.V1.SlideInformation of the slides.
   repeated SlideInformation slides = 5;
}
