export class UserOrGroup
{
    public ID: number;
    public Title: string;
    public IsChecked: boolean;
    public Image: string;
    public constructor(init?: Partial<UserOrGroup>) { (Object as any).assign(this, init); }
}
export class User extends UserOrGroup
{
    public Image: string;
    public constructor(init?: Partial<User>) { super(init); (Object as any).assign(this, init); }
}
export class Group extends UserOrGroup
{
    public Image: string;
    public constructor(init?: Partial<Group>) { super(init); (Object as any).assign(this, init); }
}
export class WorkflowTaskDelay
{
    public DelayDate?: string;
    public Reason: string;
    public constructor(init?: Partial<WorkflowTaskDelay>) { (Object as any).assign(this, init); }
}
export class WorkflowTaskReason
{
    public Reason: string;
    public Required: boolean;
    public constructor(init?: Partial<WorkflowTaskReason>) { (Object as any).assign(this, init); }
}
export class WorkflowTaskAdhocTransition
{
    public ID: string;
    public Title: string;
    public AssignmentAllowed: boolean;
    public AssignmentRequired: boolean;
    public UserEnvironment: number;
    public Users: User[];
    public Groups: Group[];
    public Delay: WorkflowTaskDelay;
    public Reason: WorkflowTaskReason;
    public UsersOrGroups: UserOrGroup[];
    public Value: string;
    public constructor(init?: Partial<WorkflowTaskAdhocTransition>) { (Object as any).assign(this, init); }
}
export class AdhocTransitionDetails
{
    public AdhocTransitions: WorkflowTaskAdhocTransition[];
    public constructor(init?: Partial<AdhocTransitionDetails>) { (Object as any).assign(this, init); }
}
export class WorkflowTaskActionComment
{
    public Comment: string;
    public Required: boolean;
    public constructor(init?: Partial<WorkflowTaskActionComment>) { (Object as any).assign(this, init); }
}
export class WorkflowTaskActionDetails extends AdhocTransitionDetails
{
    public Title: string;
    public Comment: WorkflowTaskActionComment;
    public Reason: WorkflowTaskReason;
    public constructor(init?: Partial<WorkflowTaskActionDetails>) { super(init); (Object as any).assign(this, init); }
}
export class SetWorkflowTaskFinished
{
    public ID: number;
    public ConnectionID?: string;
    public Details: WorkflowTaskActionDetails;
    public constructor(init?: Partial<SetWorkflowTaskFinished>) { (Object as any).assign(this, init); }
}
TypeScript SetWorkflowTaskFinished DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /jsv/oneway/SetWorkflowTaskFinished HTTP/1.1 
Host: doapigw.baasbv.nl 
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
	ID: 0,
	ConnectionID: 00000000-0000-0000-0000-000000000000,
	Details: 
	{
		Title: String,
		Comment: 
		{
			Comment: String,
			Required: False
		},
		Reason: 
		{
			Reason: String,
			Required: False
		},
		AdhocTransitions: 
		[
			{
				Title: String,
				AssignmentAllowed: False,
				AssignmentRequired: False,
				UserEnvironment: 0,
				Users: 
				[
					{
						Image: Icons/User,
						ID: 0,
						Title: String,
						IsChecked: False
					}
				],
				Groups: 
				[
					{
						Image: Icons/Group,
						ID: 0,
						Title: String,
						IsChecked: False
					}
				],
				Delay: 
				{
					DelayDate: 0001-01-01,
					Reason: String
				},
				Reason: 
				{
					Reason: String,
					Required: False
				},
				UsersOrGroups: 
				[
					{
						__type: "IDB.API.DTO.User, IDB.API.DTO",
						Image: Icons/User,
						ID: 0,
						Title: String,
						IsChecked: False
					},
					{
						__type: "IDB.API.DTO.Group, IDB.API.DTO",
						Image: Icons/Group,
						ID: 0,
						Title: String,
						IsChecked: False
					}
				],
				Value: "String
String"
			}
		]
	}
}