/**
 * VRt.Studio [ST]
 *
 * The version of the OpenAPI document: 7.18.2755
 * Contact: servicedesk@veeroute.com
 *
 * NOTE: This class is auto generated by OpenAPI Generator.
 * Do not edit the class manually.
 */
import { CargoActionStudio } from './cargoAction';
import { AttributeStudio } from './attribute';
import { TripStateFlagStudio } from './tripStateFlag';
/**
 * Trip state.
 */
export interface TripStateStudio {
    [key: string]: any | any;
    /**
     * Start time according to the [ISO 8601](https://tools.ietf.org/html/rfc3339#section-5.6).
     */
    time: string;
    /**
     * Key of the order with which an action is taken.
     */
    order_key?: string | null;
    /**
     * Key of the demand with which an action is taken.
     */
    demand_key?: string | null;
    /**
     * Key of the event at which an action is taken.
     */
    event_key?: string | null;
    /**
     * Key of the location at which an action is taken.
     */
    location_key?: string | null;
    /**
     * List of flags, describing current state.     Values of flags responsible for geographic location (there can be several flags at the same time):   * `AROUND_LOCATION` - the performer is near the location - in the process of parking or leaving it.   * `INSIDE_LOCATION` - the performer is at the location.  Values of flags responsible for being in time windows (there can be several flags at the same time):   * `INSIDE_WORKING_WINDOW` - the performer is inside the working time window.   * `INSIDE_LOCATION_WINDOW` - the performer is inside the working time of the location.   * `INSIDE_EVENT_HARD_WINDOW` - the performer is inside the hard time window.   * `INSIDE_EVENT_SOFT_WINDOW` - the performer is inside the soft time window.  Values of flags responsible for actions (there can be only one flag at a time):   * `ON_DEMAND` - the performer has started working on the request.   * `WAITING` - the performer has started waiting.   * `RELOCATING` - the performer has started moving to the next stop.   * `BREAK` - the performer has started a break.   * `REST` - the performer has started a long rest.   * `ARRIVAL` - the performer has started parking.   * `DEPARTURE` - the performer has finished leaving the parking lot.  The values of the flags responsible for the logical state:   * `DURING_ROUNDTRIP` - the performer is making a roundtrip.
     */
    flags: Array<TripStateFlagStudio>;
    /**
     * List of actions with cargo in transport at the beginning of the state.
     */
    cargo_actions?: Array<CargoActionStudio>;
    /**
     * Cumulative distance from the start of the trip, in meters.
     */
    distance?: number;
    /**
     * Cumulative cost calculated based on the performer\'s and transport tariffs.
     */
    cost?: number;
    /**
     * Cumulative reward for orders fulfillment.
     */
    reward?: number;
    /**
     * Attributes. Used to add service information.
     */
    attributes?: Array<AttributeStudio>;
}
