| PATCH,PUT,OPTIONS | /v1/projects/{ProjectID}/pay-apps/{PeriodNumber} |
|---|
import Foundation
import ServiceStack
public class PayApplicationUpdateRequest : Codable
{
public var projectID:Int
public var periodNumber:Int
public var periodStart:Date?
public var periodEnd:Date?
public var retainagePct:Double?
public var billingTemplate:String
public var submitForCertification:Bool
public var lines:[PayApplicationLine] = []
public var pullFromWip:Bool
public var appendApprovedChangeOrders:Bool
required public init(){}
}
public class PayApplicationLine : Codable
{
public var payApplicationLineID:Int
public var payApplicationID:Int
public var costCode:String
public var Description:String
public var scheduledValue:Double
public var fromPreviousPct:Double
public var thisPeriodPct:Double
public var storedMaterials:Double
public var isChangeOrder:Bool
public var changeOrderID:Int?
public var sortOrder:Int
required public init(){}
}
public class PayApplicationResponse : Codable
{
public var responseStatus:ResponseStatus
public var application:PayApplication
required public init(){}
}
public class PayApplication : Codable
{
public var payApplicationID:Int
public var payApplicationUID:String
public var projectID:Int
public var periodNumber:Int
public var periodStart:Date?
public var periodEnd:Date?
public var status:String
public var billingTemplate:String
public var retainagePct:Double
public var originalContractSum:Double
public var netChangeByCO:Double
public var contractSumToDate:Double
public var completedStoredToDate:Double
public var retainageAmount:Double
public var earnedLessRetainage:Double
public var lessPreviousCertificates:Double
public var currentPaymentDue:Double
public var balanceToFinish:Double
public var invoiceID:Int?
public var certifiedAt:Date?
public var certifiedBy:String
public var createdBy:String
public var createdAt:Date?
public var updatedAt:Date?
public var lines:[PayApplicationLine] = []
required public init(){}
}
Swift PayApplicationUpdateRequest 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.
PUT /v1/projects/{ProjectID}/pay-apps/{PeriodNumber} HTTP/1.1
Host: api.dev.dynamics.trendsic.com
Accept: text/jsv
Content-Type: text/jsv
Content-Length: length
{
ProjectID: 0,
PeriodNumber: 0,
PeriodStart: 0001-01-01,
PeriodEnd: 0001-01-01,
RetainagePct: 0,
BillingTemplate: String,
SubmitForCertification: False,
Lines:
[
{
PayApplicationLineID: 0,
PayApplicationID: 0,
CostCode: String,
Description: String,
ScheduledValue: 0,
FromPreviousPct: 0,
ThisPeriodPct: 0,
StoredMaterials: 0,
IsChangeOrder: False,
ChangeOrderID: 0,
SortOrder: 0
}
],
PullFromWip: False,
AppendApprovedChangeOrders: False
}
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
ResponseStatus:
{
ErrorCode: String,
Message: String,
StackTrace: String,
Errors:
[
{
ErrorCode: String,
FieldName: String,
Message: String,
Meta:
{
String: String
}
}
],
Meta:
{
String: String
}
},
Application:
{
PayApplicationID: 0,
PayApplicationUID: 00000000000000000000000000000000,
ProjectID: 0,
PeriodNumber: 0,
PeriodStart: 0001-01-01,
PeriodEnd: 0001-01-01,
Status: String,
BillingTemplate: String,
RetainagePct: 0,
OriginalContractSum: 0,
NetChangeByCO: 0,
ContractSumToDate: 0,
CompletedStoredToDate: 0,
RetainageAmount: 0,
EarnedLessRetainage: 0,
LessPreviousCertificates: 0,
CurrentPaymentDue: 0,
BalanceToFinish: 0,
InvoiceID: 0,
CertifiedAt: 0001-01-01,
CertifiedBy: String,
CreatedBy: String,
CreatedAt: 0001-01-01,
UpdatedAt: 0001-01-01,
Lines:
[
{
PayApplicationLineID: 0,
PayApplicationID: 0,
CostCode: String,
Description: String,
ScheduledValue: 0,
FromPreviousPct: 0,
ThisPeriodPct: 0,
StoredMaterials: 0,
IsChangeOrder: False,
ChangeOrderID: 0,
SortOrder: 0
}
]
}
}