BazeField Services

<back to all web services

GetAllocation

Allocations API
Requires Authentication
The following routes are available for this service:
GET/allocations/{Id}
import 'package:servicestack/servicestack.dart';

class AlarmCode implements IConvertible
{
    int? eventNumber;
    int? parameter1;
    String? vendorEventType;

    AlarmCode({this.eventNumber,this.parameter1,this.vendorEventType});
    AlarmCode.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        eventNumber = json['eventNumber'];
        parameter1 = json['parameter1'];
        vendorEventType = json['vendorEventType'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'eventNumber': eventNumber,
        'parameter1': parameter1,
        'vendorEventType': vendorEventType
    };

    getTypeName() => "AlarmCode";
    TypeContext? context = _ctx;
}

class Alarm implements IConvertible
{
    int? id;
    int? code;
    AlarmCode? alarmCode;
    String? name;
    int? brakePrg;
    bool? canTriggerAllocation;
    String? description;
    String? remarks;
    String? resetPrg;
    bool? isOkAlarm;
    Map<String,String?>? meta;
    int? alarmType;
    String? type;

    Alarm({this.id,this.code,this.alarmCode,this.name,this.brakePrg,this.canTriggerAllocation,this.description,this.remarks,this.resetPrg,this.isOkAlarm,this.meta,this.alarmType,this.type});
    Alarm.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        code = json['code'];
        alarmCode = JsonConverters.fromJson(json['alarmCode'],'AlarmCode',context!);
        name = json['name'];
        brakePrg = json['brakePrg'];
        canTriggerAllocation = json['canTriggerAllocation'];
        description = json['description'];
        remarks = json['remarks'];
        resetPrg = json['resetPrg'];
        isOkAlarm = json['isOkAlarm'];
        meta = JsonConverters.toStringMap(json['meta']);
        alarmType = json['alarmType'];
        type = json['type'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'code': code,
        'alarmCode': JsonConverters.toJson(alarmCode,'AlarmCode',context!),
        'name': name,
        'brakePrg': brakePrg,
        'canTriggerAllocation': canTriggerAllocation,
        'description': description,
        'remarks': remarks,
        'resetPrg': resetPrg,
        'isOkAlarm': isOkAlarm,
        'meta': meta,
        'alarmType': alarmType,
        'type': type
    };

    getTypeName() => "Alarm";
    TypeContext? context = _ctx;
}

class TriggerAlarm implements IConvertible
{
    Alarm? alarm;
    DateTime? start;
    DateTime? end;
    int? logId;
    String? sfId;

    TriggerAlarm({this.alarm,this.start,this.end,this.logId,this.sfId});
    TriggerAlarm.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        alarm = JsonConverters.fromJson(json['alarm'],'Alarm',context!);
        start = JsonConverters.fromJson(json['start'],'DateTime',context!);
        end = JsonConverters.fromJson(json['end'],'DateTime',context!);
        logId = json['logId'];
        sfId = json['sfId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'alarm': JsonConverters.toJson(alarm,'Alarm',context!),
        'start': JsonConverters.toJson(start,'DateTime',context!),
        'end': JsonConverters.toJson(end,'DateTime',context!),
        'logId': logId,
        'sfId': sfId
    };

    getTypeName() => "TriggerAlarm";
    TypeContext? context = _ctx;
}

class AllocationCategory implements IConvertible
{
    int? id;
    String? name;
    String? acronym;
    String? color;
    bool? uncategorized;
    bool? available;
    int? typeId;
    String? group;
    int? sortIndex;
    int? priority;
    bool? enabled;
    int? performance;
    int? excluded;
    int? parentCategoryId;
    String? parentCategoryName;
    String? code;
    String? variantAlias;
    Map<String,String?>? attributes;

    AllocationCategory({this.id,this.name,this.acronym,this.color,this.uncategorized,this.available,this.typeId,this.group,this.sortIndex,this.priority,this.enabled,this.performance,this.excluded,this.parentCategoryId,this.parentCategoryName,this.code,this.variantAlias,this.attributes});
    AllocationCategory.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        acronym = json['acronym'];
        color = json['color'];
        uncategorized = json['uncategorized'];
        available = json['available'];
        typeId = json['typeId'];
        group = json['group'];
        sortIndex = json['sortIndex'];
        priority = json['priority'];
        enabled = json['enabled'];
        performance = json['performance'];
        excluded = json['excluded'];
        parentCategoryId = json['parentCategoryId'];
        parentCategoryName = json['parentCategoryName'];
        code = json['code'];
        variantAlias = json['variantAlias'];
        attributes = JsonConverters.toStringMap(json['attributes']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name,
        'acronym': acronym,
        'color': color,
        'uncategorized': uncategorized,
        'available': available,
        'typeId': typeId,
        'group': group,
        'sortIndex': sortIndex,
        'priority': priority,
        'enabled': enabled,
        'performance': performance,
        'excluded': excluded,
        'parentCategoryId': parentCategoryId,
        'parentCategoryName': parentCategoryName,
        'code': code,
        'variantAlias': variantAlias,
        'attributes': attributes
    };

    getTypeName() => "AllocationCategory";
    TypeContext? context = _ctx;
}

class AllocationType implements IConvertible
{
    int? id;
    String? name;
    String? acronym;
    String? version;
    String? description;
    int? sortOrder;
    int? linkedTypeId;
    bool? subType;
    String? groupName;
    bool? defaultVisible;
    int? domainId;
    bool? disabled;
    String? matrix;
    bool? certified;
    int? allocationTypeClassId;
    int? variantOfAbstractTypeId;

    AllocationType({this.id,this.name,this.acronym,this.version,this.description,this.sortOrder,this.linkedTypeId,this.subType,this.groupName,this.defaultVisible,this.domainId,this.disabled,this.matrix,this.certified,this.allocationTypeClassId,this.variantOfAbstractTypeId});
    AllocationType.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        acronym = json['acronym'];
        version = json['version'];
        description = json['description'];
        sortOrder = json['sortOrder'];
        linkedTypeId = json['linkedTypeId'];
        subType = json['subType'];
        groupName = json['groupName'];
        defaultVisible = json['defaultVisible'];
        domainId = json['domainId'];
        disabled = json['disabled'];
        matrix = json['matrix'];
        certified = json['certified'];
        allocationTypeClassId = json['allocationTypeClassId'];
        variantOfAbstractTypeId = json['variantOfAbstractTypeId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name,
        'acronym': acronym,
        'version': version,
        'description': description,
        'sortOrder': sortOrder,
        'linkedTypeId': linkedTypeId,
        'subType': subType,
        'groupName': groupName,
        'defaultVisible': defaultVisible,
        'domainId': domainId,
        'disabled': disabled,
        'matrix': matrix,
        'certified': certified,
        'allocationTypeClassId': allocationTypeClassId,
        'variantOfAbstractTypeId': variantOfAbstractTypeId
    };

    getTypeName() => "AllocationType";
    TypeContext? context = _ctx;
}

class AllocationCategoryWithType extends AllocationCategory implements IConvertible
{
    AllocationType? allocationType;

    AllocationCategoryWithType({this.allocationType});
    AllocationCategoryWithType.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        allocationType = JsonConverters.fromJson(json['allocationType'],'AllocationType',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'allocationType': JsonConverters.toJson(allocationType,'AllocationType',context!)
    });

    getTypeName() => "AllocationCategoryWithType";
    TypeContext? context = _ctx;
}

class AllocationPropertyValue implements IConvertible
{
    String? name;
    String? displayName;
    double? value;
    double? limitedValue;
    String? unit;
    bool? isOverride;
    String? description;

    AllocationPropertyValue({this.name,this.displayName,this.value,this.limitedValue,this.unit,this.isOverride,this.description});
    AllocationPropertyValue.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        displayName = json['displayName'];
        value = JsonConverters.toDouble(json['value']);
        limitedValue = JsonConverters.toDouble(json['limitedValue']);
        unit = json['unit'];
        isOverride = json['isOverride'];
        description = json['description'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'displayName': displayName,
        'value': value,
        'limitedValue': limitedValue,
        'unit': unit,
        'isOverride': isOverride,
        'description': description
    };

    getTypeName() => "AllocationPropertyValue";
    TypeContext? context = _ctx;
}

enum CommentType
{
    Turbine,
    Allocation,
    Alarm,
}

enum LabelType
{
    Allocation,
    Other,
    Alarm,
    Case,
}

class Label implements IConvertible
{
    int? id;
    String? name;
    String? color;
    LabelType? type;

    Label({this.id,this.name,this.color,this.type});
    Label.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        color = json['color'];
        type = JsonConverters.fromJson(json['type'],'LabelType',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name,
        'color': color,
        'type': JsonConverters.toJson(type,'LabelType',context!)
    };

    getTypeName() => "Label";
    TypeContext? context = _ctx;
}

class Comment implements IConvertible
{
    int? id;
    int? turbineId;
    String? turbineName;
    DateTime? timeStamp;
    String? text;
    String? createdBy;
    double? createdById;
    DateTime? lastModified;
    CommentType? type;
    bool? External;
    bool? sticky;
    int? allocationId;
    int? alarmLogId;
    int? alarmId;
    int? commandId;
    String? relatedInfo;
    bool? cleared;
    List<Label>? labels;
    String? objectId;
    DateTime? relatedStart;
    DateTime? relatedEnd;

    Comment({this.id,this.turbineId,this.turbineName,this.timeStamp,this.text,this.createdBy,this.createdById,this.lastModified,this.type,this.External,this.sticky,this.allocationId,this.alarmLogId,this.alarmId,this.commandId,this.relatedInfo,this.cleared,this.labels,this.objectId,this.relatedStart,this.relatedEnd});
    Comment.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        turbineId = json['turbineId'];
        turbineName = json['turbineName'];
        timeStamp = JsonConverters.fromJson(json['timeStamp'],'DateTime',context!);
        text = json['text'];
        createdBy = json['createdBy'];
        createdById = JsonConverters.toDouble(json['createdById']);
        lastModified = JsonConverters.fromJson(json['lastModified'],'DateTime',context!);
        type = JsonConverters.fromJson(json['type'],'CommentType',context!);
        External = json['external'];
        sticky = json['sticky'];
        allocationId = json['allocationId'];
        alarmLogId = json['alarmLogId'];
        alarmId = json['alarmId'];
        commandId = json['commandId'];
        relatedInfo = json['relatedInfo'];
        cleared = json['cleared'];
        labels = JsonConverters.fromJson(json['labels'],'List<Label>',context!);
        objectId = json['objectId'];
        relatedStart = JsonConverters.fromJson(json['relatedStart'],'DateTime',context!);
        relatedEnd = JsonConverters.fromJson(json['relatedEnd'],'DateTime',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'turbineId': turbineId,
        'turbineName': turbineName,
        'timeStamp': JsonConverters.toJson(timeStamp,'DateTime',context!),
        'text': text,
        'createdBy': createdBy,
        'createdById': createdById,
        'lastModified': JsonConverters.toJson(lastModified,'DateTime',context!),
        'type': JsonConverters.toJson(type,'CommentType',context!),
        'external': External,
        'sticky': sticky,
        'allocationId': allocationId,
        'alarmLogId': alarmLogId,
        'alarmId': alarmId,
        'commandId': commandId,
        'relatedInfo': relatedInfo,
        'cleared': cleared,
        'labels': JsonConverters.toJson(labels,'List<Label>',context!),
        'objectId': objectId,
        'relatedStart': JsonConverters.toJson(relatedStart,'DateTime',context!),
        'relatedEnd': JsonConverters.toJson(relatedEnd,'DateTime',context!)
    };

    getTypeName() => "Comment";
    TypeContext? context = _ctx;
}

class Allocation implements IConvertible
{
    int? id;
    int? turbineId;
    String? objectId;
    String? turbineName;
    String? turbineTitle;
    int? sourceId;
    String? sourceName;
    String? rootCause;
    TriggerAlarm? triggeredByAlarm;
    AllocationCategoryWithType? category;
    List<AllocationCategoryWithType>? categories;
    DateTime? start;
    DateTime? end;
    DateTime? start_Local;
    DateTime? end_Local;
    Duration? duration;
    DateTime? lastModified;
    bool? isUnclassified;
    bool? manualOverrideLoss;
    DateTime? responseTime;
    double? lostProduction;
    double? lostProdutionFiltered;
    double? lostMoney;
    double? lostMoneyFiltered;
    List<AllocationPropertyValue>? properties;
    bool? finished;
    bool? manual;
    bool? overridden;
    bool? reallocated;
    bool? pending;
    String? changeLog;
    Comment? lastComment;
    String? exported;
    List<Label>? labels;
    bool? suspect;
    bool? uncertain;
    int? eventId;
    bool? hasEvent;
    bool? holdCategory;
    bool? approved;
    String? sfId;
    String? firstAlarmSfId;
    int? rootCauseAlarmId;

    Allocation({this.id,this.turbineId,this.objectId,this.turbineName,this.turbineTitle,this.sourceId,this.sourceName,this.rootCause,this.triggeredByAlarm,this.category,this.categories,this.start,this.end,this.start_Local,this.end_Local,this.duration,this.lastModified,this.isUnclassified,this.manualOverrideLoss,this.responseTime,this.lostProduction,this.lostProdutionFiltered,this.lostMoney,this.lostMoneyFiltered,this.properties,this.finished,this.manual,this.overridden,this.reallocated,this.pending,this.changeLog,this.lastComment,this.exported,this.labels,this.suspect,this.uncertain,this.eventId,this.hasEvent,this.holdCategory,this.approved,this.sfId,this.firstAlarmSfId,this.rootCauseAlarmId});
    Allocation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        turbineId = json['turbineId'];
        objectId = json['objectId'];
        turbineName = json['turbineName'];
        turbineTitle = json['turbineTitle'];
        sourceId = json['sourceId'];
        sourceName = json['sourceName'];
        rootCause = json['rootCause'];
        triggeredByAlarm = JsonConverters.fromJson(json['triggeredByAlarm'],'TriggerAlarm',context!);
        category = JsonConverters.fromJson(json['category'],'AllocationCategoryWithType',context!);
        categories = JsonConverters.fromJson(json['categories'],'List<AllocationCategoryWithType>',context!);
        start = JsonConverters.fromJson(json['start'],'DateTime',context!);
        end = JsonConverters.fromJson(json['end'],'DateTime',context!);
        start_Local = JsonConverters.fromJson(json['start_Local'],'DateTime',context!);
        end_Local = JsonConverters.fromJson(json['end_Local'],'DateTime',context!);
        duration = JsonConverters.fromJson(json['duration'],'Duration',context!);
        lastModified = JsonConverters.fromJson(json['lastModified'],'DateTime',context!);
        isUnclassified = json['isUnclassified'];
        manualOverrideLoss = json['manualOverrideLoss'];
        responseTime = JsonConverters.fromJson(json['responseTime'],'DateTime',context!);
        lostProduction = JsonConverters.toDouble(json['lostProduction']);
        lostProdutionFiltered = JsonConverters.toDouble(json['lostProdutionFiltered']);
        lostMoney = JsonConverters.toDouble(json['lostMoney']);
        lostMoneyFiltered = JsonConverters.toDouble(json['lostMoneyFiltered']);
        properties = JsonConverters.fromJson(json['properties'],'List<AllocationPropertyValue>',context!);
        finished = json['finished'];
        manual = json['manual'];
        overridden = json['overridden'];
        reallocated = json['reallocated'];
        pending = json['pending'];
        changeLog = json['changeLog'];
        lastComment = JsonConverters.fromJson(json['lastComment'],'Comment',context!);
        exported = json['exported'];
        labels = JsonConverters.fromJson(json['labels'],'List<Label>',context!);
        suspect = json['suspect'];
        uncertain = json['uncertain'];
        eventId = json['eventId'];
        hasEvent = json['hasEvent'];
        holdCategory = json['holdCategory'];
        approved = json['approved'];
        sfId = json['sfId'];
        firstAlarmSfId = json['firstAlarmSfId'];
        rootCauseAlarmId = json['rootCauseAlarmId'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'turbineId': turbineId,
        'objectId': objectId,
        'turbineName': turbineName,
        'turbineTitle': turbineTitle,
        'sourceId': sourceId,
        'sourceName': sourceName,
        'rootCause': rootCause,
        'triggeredByAlarm': JsonConverters.toJson(triggeredByAlarm,'TriggerAlarm',context!),
        'category': JsonConverters.toJson(category,'AllocationCategoryWithType',context!),
        'categories': JsonConverters.toJson(categories,'List<AllocationCategoryWithType>',context!),
        'start': JsonConverters.toJson(start,'DateTime',context!),
        'end': JsonConverters.toJson(end,'DateTime',context!),
        'start_Local': JsonConverters.toJson(start_Local,'DateTime',context!),
        'end_Local': JsonConverters.toJson(end_Local,'DateTime',context!),
        'duration': JsonConverters.toJson(duration,'Duration',context!),
        'lastModified': JsonConverters.toJson(lastModified,'DateTime',context!),
        'isUnclassified': isUnclassified,
        'manualOverrideLoss': manualOverrideLoss,
        'responseTime': JsonConverters.toJson(responseTime,'DateTime',context!),
        'lostProduction': lostProduction,
        'lostProdutionFiltered': lostProdutionFiltered,
        'lostMoney': lostMoney,
        'lostMoneyFiltered': lostMoneyFiltered,
        'properties': JsonConverters.toJson(properties,'List<AllocationPropertyValue>',context!),
        'finished': finished,
        'manual': manual,
        'overridden': overridden,
        'reallocated': reallocated,
        'pending': pending,
        'changeLog': changeLog,
        'lastComment': JsonConverters.toJson(lastComment,'Comment',context!),
        'exported': exported,
        'labels': JsonConverters.toJson(labels,'List<Label>',context!),
        'suspect': suspect,
        'uncertain': uncertain,
        'eventId': eventId,
        'hasEvent': hasEvent,
        'holdCategory': holdCategory,
        'approved': approved,
        'sfId': sfId,
        'firstAlarmSfId': firstAlarmSfId,
        'rootCauseAlarmId': rootCauseAlarmId
    };

    getTypeName() => "Allocation";
    TypeContext? context = _ctx;
}

class GetAllocation implements IConvertible
{
    int? id;

    GetAllocation({this.id});
    GetAllocation.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id
    };

    getTypeName() => "GetAllocation";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'monitoring.ox2.com', types: <String, TypeInfo> {
    'AlarmCode': TypeInfo(TypeOf.Class, create:() => AlarmCode()),
    'Alarm': TypeInfo(TypeOf.Class, create:() => Alarm()),
    'TriggerAlarm': TypeInfo(TypeOf.Class, create:() => TriggerAlarm()),
    'AllocationCategory': TypeInfo(TypeOf.Class, create:() => AllocationCategory()),
    'AllocationType': TypeInfo(TypeOf.Class, create:() => AllocationType()),
    'AllocationCategoryWithType': TypeInfo(TypeOf.Class, create:() => AllocationCategoryWithType()),
    'AllocationPropertyValue': TypeInfo(TypeOf.Class, create:() => AllocationPropertyValue()),
    'CommentType': TypeInfo(TypeOf.Enum, enumValues:CommentType.values),
    'LabelType': TypeInfo(TypeOf.Enum, enumValues:LabelType.values),
    'Label': TypeInfo(TypeOf.Class, create:() => Label()),
    'Comment': TypeInfo(TypeOf.Class, create:() => Comment()),
    'List<Label>': TypeInfo(TypeOf.Class, create:() => <Label>[]),
    'Allocation': TypeInfo(TypeOf.Class, create:() => Allocation()),
    'List<AllocationCategoryWithType>': TypeInfo(TypeOf.Class, create:() => <AllocationCategoryWithType>[]),
    'List<AllocationPropertyValue>': TypeInfo(TypeOf.Class, create:() => <AllocationPropertyValue>[]),
    'GetAllocation': TypeInfo(TypeOf.Class, create:() => GetAllocation()),
});

Dart GetAllocation DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv

HTTP + JSV

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

GET /allocations/{Id} HTTP/1.1 
Host: monitoring.ox2.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	id: 0,
	turbineId: 0,
	objectId: String,
	turbineName: String,
	turbineTitle: String,
	sourceId: 0,
	sourceName: String,
	rootCause: String,
	triggeredByAlarm: 
	{
		alarm: 
		{
			id: 0,
			code: 0,
			name: String,
			brakePrg: 0,
			canTriggerAllocation: False,
			description: String,
			remarks: String,
			resetPrg: ,
			isOkAlarm: False,
			meta: 
			{
				String: String
			},
			alarmType: 0,
			type: Warning
		},
		start: 0001-01-01,
		end: 0001-01-01,
		logId: 0,
		sfId: String
	},
	category: 
	{
		allocationType: 
		{
			id: 0,
			name: String,
			acronym: String,
			version: String,
			description: String,
			sortOrder: 0,
			linkedTypeId: 0,
			subType: False,
			groupName: String,
			defaultVisible: False,
			domainId: 0,
			disabled: False,
			matrix: String,
			certified: False,
			allocationTypeClassId: 0,
			variantOfAbstractTypeId: 0
		},
		id: 0,
		name: String,
		acronym: String,
		color: String,
		uncategorized: False,
		available: False,
		typeId: 0,
		group: String,
		sortIndex: 0,
		priority: 0,
		enabled: False,
		performance: 0,
		excluded: 0,
		parentCategoryId: 0,
		parentCategoryName: String,
		code: String,
		variantAlias: String,
		attributes: 
		{
			String: String
		}
	},
	categories: 
	[
		{
			allocationType: 
			{
				id: 0,
				name: String,
				acronym: String,
				version: String,
				description: String,
				sortOrder: 0,
				linkedTypeId: 0,
				subType: False,
				groupName: String,
				defaultVisible: False,
				domainId: 0,
				disabled: False,
				matrix: String,
				certified: False,
				allocationTypeClassId: 0,
				variantOfAbstractTypeId: 0
			},
			id: 0,
			name: String,
			acronym: String,
			color: String,
			uncategorized: False,
			available: False,
			typeId: 0,
			group: String,
			sortIndex: 0,
			priority: 0,
			enabled: False,
			performance: 0,
			excluded: 0,
			parentCategoryId: 0,
			parentCategoryName: String,
			code: String,
			variantAlias: String,
			attributes: 
			{
				String: String
			}
		}
	],
	start: 0001-01-01,
	end: 0001-01-01,
	start_Local: 0001-01-01T00:00:00.0000000+00:00,
	end_Local: 0001-01-01T00:00:00.0000000+00:00,
	duration: P739710DT15H28M48.9322128S,
	lastModified: 0001-01-01,
	isUnclassified: False,
	manualOverrideLoss: False,
	responseTime: 0001-01-01,
	lostProduction: 0,
	lostProdutionFiltered: 0,
	lostMoney: 0,
	lostMoneyFiltered: 0,
	properties: 
	[
		{
			
		}
	],
	finished: False,
	manual: False,
	overridden: False,
	reallocated: False,
	pending: False,
	changeLog: String,
	lastComment: 
	{
		id: 0,
		turbineId: 0,
		turbineName: String,
		timeStamp: 0001-01-01,
		text: String,
		createdBy: String,
		createdById: 0,
		lastModified: 0001-01-01,
		type: Turbine,
		external: False,
		sticky: False,
		allocationId: 0,
		alarmLogId: 0,
		alarmId: 0,
		commandId: 0,
		relatedInfo: String,
		cleared: False,
		labels: 
		[
			{
				id: 0,
				name: String,
				color: String,
				type: 0
			}
		],
		objectId: String,
		relatedStart: 0001-01-01,
		relatedEnd: 0001-01-01
	},
	exported: String,
	labels: 
	[
		{
			id: 0,
			name: String,
			color: String,
			type: 0
		}
	],
	suspect: False,
	uncertain: False,
	eventId: 0,
	hasEvent: False,
	holdCategory: False,
	approved: False,
	sfId: String,
	firstAlarmSfId: String,
	rootCauseAlarmId: 0
}