Trendsic Platform Service

<back to all web services

PayRulesCascadeRequest

Requires Authentication
The following routes are available for this service:
GET/v1/workforce/payrules
import Foundation
import ServiceStack

public class PayRulesCascadeRequest : Codable
{
    public var payRulePolicyId:Int?
    public var versionNumber:Int?

    required public init(){}
}

public class PayRulesCascadeResponse : Codable
{
    public var policy:PayRulePolicy
    public var doc:PayRulePolicyDoc
    public var versionNumber:Int
    public var versions:[PayRulePolicyVersionInfo] = []
    public var canEditRules:Bool
    public var responseStatus:ResponseStatus

    required public init(){}
}

public class PayRulePolicy : Codable
{
    public var payRulePolicyId:Int
    public var payRulePolicyUID:String
    public var name:String
    public var scopeLevel:String
    public var branchId:String?
    public var jurisdictionKey:String
    public var cbaKey:String
    public var workTypeKey:String
    public var currentVersion:Int
    public var isActive:Bool
    public var branchName:String

    required public init(){}
}

public class PayRulePolicyDoc : Codable
{
    public var intro:String
    public var lockLine:String
    public var templateName:String
    public var rules:[PayRuleDef] = []

    required public init(){}
}

public class PayRuleDef : Codable
{
    public var ruleId:String
    public var name:String
    public var kind:String
    public var demand:String
    public var sourcePolicyName:String
    public var cascadeLevel:String
    public var why:String
    public var change:String
    public var overrideWho:String
    public var overrideConsequence:String
    public var noNote:String
    public var legalVerify:String
    public var params:[String:String] = [:]
    public var doc:[PayRuleDocSection] = []
    public var tune:PayRuleTune

    required public init(){}
}

public class PayRuleDocSection : Codable
{
    public var h:String
    public var t:String

    required public init(){}
}

public class PayRuleTune : Codable
{
    public var intro:String
    public var options:[PayRuleTuneOption] = []

    required public init(){}
}

public class PayRuleTuneOption : Codable
{
    public var label:String
    public var sub:String

    required public init(){}
}

public class PayRulePolicyVersionInfo : Codable
{
    public var payRulePolicyVersionId:Int
    public var versionNumber:Int
    public var changeNote:String
    public var changedByName:String
    public var createdAtUtc:Date

    required public init(){}
}


Swift PayRulesCascadeRequest 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 /v1/workforce/payrules HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length

{
	Policy: 
	{
		PayRulePolicyId: 0,
		PayRulePolicyUID: 00000000000000000000000000000000,
		Name: String,
		ScopeLevel: String,
		BranchId: 00000000000000000000000000000000,
		JurisdictionKey: String,
		CbaKey: String,
		WorkTypeKey: String,
		CurrentVersion: 0,
		IsActive: False,
		BranchName: String
	},
	Doc: 
	{
		Intro: String,
		LockLine: String,
		TemplateName: String,
		Rules: 
		[
			{
				RuleId: String,
				Name: String,
				Kind: String,
				Demand: String,
				SourcePolicyName: String,
				CascadeLevel: String,
				Why: String,
				Change: String,
				OverrideWho: String,
				OverrideConsequence: String,
				NoNote: String,
				LegalVerify: String,
				Params: 
				{
					String: String
				},
				Doc: 
				[
					{
						H: String,
						T: String
					}
				],
				Tune: 
				{
					Intro: String,
					Options: 
					[
						{
							Label: String,
							Sub: String
						}
					]
				}
			}
		]
	},
	VersionNumber: 0,
	Versions: 
	[
		{
			PayRulePolicyVersionId: 0,
			VersionNumber: 0,
			ChangeNote: String,
			ChangedByName: String,
			CreatedAtUtc: 0001-01-01
		}
	],
	CanEditRules: False,
	ResponseStatus: 
	{
		ErrorCode: String,
		Message: String,
		StackTrace: String,
		Errors: 
		[
			{
				ErrorCode: String,
				FieldName: String,
				Message: String,
				Meta: 
				{
					String: String
				}
			}
		],
		Meta: 
		{
			String: String
		}
	}
}