Trendsic Platform Service

<back to all web services

CostCalcRequest

Requires Authentication
The following routes are available for this service:
POST/v1/workforce/calc
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*


open class CostCalcRequest
{
    open var Input:CostInput? = null
    open var ContactID:Int? = null
    open var ProjectID:Int? = null
    open var ShiftPatternID:Int? = null
    open var Unit:String? = null
}

open class CostInput
{
    open var Base:BigDecimal? = null
    open var BillRate:BigDecimal? = null
    open var FringeCash:BigDecimal? = null
    open var FringePlan:BigDecimal? = null
    open var IsNight:Boolean? = null
    open var HoursPerDay:BigDecimal? = null
    open var OnDays:Int? = null
    open var OnDaysExact:BigDecimal? = null
    open var HasTravel:Boolean? = null
    open var PerDiemEligible:Boolean? = null
    open var PrevailingWage:Boolean? = null
    open var Jurisdiction:String? = null
    open var Unit:String? = null
    open var PriorHours:BigDecimal? = null
    open var BurdenClass:String? = null
    open var WcRateOverride:BigDecimal? = null
}

open class CostCalcResponse
{
    open var Result:CostBreakdown? = null
    open var ResolvedInput:CostInput? = null
    open var CanSeePay:Boolean? = null
    open var ResponseStatus:ResponseStatus? = null
}

open class CostBreakdown
{
    open var Rrop:BigDecimal? = null
    open var St:BigDecimal? = null
    open var Ot:BigDecimal? = null
    open var Dt:BigDecimal? = null
    open var TotalHours:BigDecimal? = null
    open var Straight:BigDecimal? = null
    open var DiffPay:BigDecimal? = null
    open var OtPremium:BigDecimal? = null
    open var DtPremium:BigDecimal? = null
    open var CashWages:BigDecimal? = null
    open var FringeCashPay:BigDecimal? = null
    open var FringePlanPay:BigDecimal? = null
    open var BurdenPct:BigDecimal? = null
    open var BurdenAmount:BigDecimal? = null
    open var PerDiemApplies:Boolean? = null
    open var PerDiemCost:BigDecimal? = null
    open var PerDiemTaxable:BigDecimal? = null
    open var PerDiemNonTax:BigDecimal? = null
    open var Loaded:BigDecimal? = null
    open var Revenue:BigDecimal? = null
    open var Margin:BigDecimal? = null
    open var MarginPct:BigDecimal? = null
    open var OtMultiplier:BigDecimal? = null
    open var DtMultiplier:BigDecimal? = null
    open var PerDiemDaily:BigDecimal? = null
    open var Lines:ArrayList<CostLine> = ArrayList<CostLine>()
    open var Notes:ArrayList<String> = ArrayList<String>()
}

open class CostLine
{
    open var Label:String? = null
    open var Detail:String? = null
    open var Amount:BigDecimal? = null
    open var RuleId:String? = null
}

Kotlin CostCalcRequest DTOs

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

HTTP + CSV

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

POST /v1/workforce/calc HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: text/csv
Content-Type: text/csv
Content-Length: length

{"Input":{"Base":0,"BillRate":0,"FringeCash":0,"FringePlan":0,"IsNight":false,"HoursPerDay":0,"OnDays":0,"OnDaysExact":0,"HasTravel":false,"PerDiemEligible":false,"PrevailingWage":false,"Jurisdiction":"String","Unit":"String","PriorHours":0,"BurdenClass":"String","WcRateOverride":0},"ContactID":0,"ProjectID":0,"ShiftPatternID":0,"Unit":"String"}
HTTP/1.1 200 OK
Content-Type: text/csv
Content-Length: length

{"Result":{"Rrop":0,"St":0,"Ot":0,"Dt":0,"TotalHours":0,"Straight":0,"DiffPay":0,"OtPremium":0,"DtPremium":0,"CashWages":0,"FringeCashPay":0,"FringePlanPay":0,"BurdenPct":0,"BurdenAmount":0,"PerDiemApplies":false,"PerDiemCost":0,"PerDiemTaxable":0,"PerDiemNonTax":0,"Loaded":0,"Revenue":0,"Margin":0,"MarginPct":0,"OtMultiplier":0,"DtMultiplier":0,"PerDiemDaily":0,"Lines":[{"Label":"String","Detail":"String","Amount":0,"RuleId":"String"}],"Notes":["String"]},"ResolvedInput":{"Base":0,"BillRate":0,"FringeCash":0,"FringePlan":0,"IsNight":false,"HoursPerDay":0,"OnDays":0,"OnDaysExact":0,"HasTravel":false,"PerDiemEligible":false,"PrevailingWage":false,"Jurisdiction":"String","Unit":"String","PriorHours":0,"BurdenClass":"String","WcRateOverride":0},"CanSeePay":false,"ResponseStatus":{"ErrorCode":"String","Message":"String","StackTrace":"String","Errors":[{"ErrorCode":"String","FieldName":"String","Message":"String","Meta":{"String":"String"}}],"Meta":{"String":"String"}}}