POST | /api/schedules/{RequestId}/cancel |
---|
import java.math.*
import java.util.*
import java.io.InputStream
import net.servicestack.client.*
import com.google.gson.annotations.*
import com.google.gson.reflect.*
/**
* Creates or Reschedules a SupplierConnect schedule. This will return the id of the schedule request created and the communication id of the notification sent.
*/
@Api(Description="Creates or Reschedules a SupplierConnect schedule. This will return the id of the schedule request created and the communication id of the notification sent.")
@DataContract
open class CancelScheduleRequest
{
/**
* Id of the schedule request to be recreated
*/
@DataMember(Name="RequestId")
@SerializedName("RequestId")
@ApiMember(Description="Id of the schedule request to be recreated", IsRequired=true, Name="RequestId")
open var RequestId:UUID? = null
/**
* Date/Time of the activity
*/
@DataMember(Name="ScheduleDateTime")
@SerializedName("ScheduleDateTime")
@ApiMember(Description="Date/Time of the activity", IsRequired=true, Name="ScheduleDateTime")
@Required()
open var ScheduleDateTime:Date? = null
@DataMember(Name="Requester")
@SerializedName("Requester")
open var Requester:ContactInfo? = null
@DataMember(Name="Supplier")
@SerializedName("Supplier")
open var Supplier:ContactInfo? = null
@DataMember(Name="Project")
@SerializedName("Project")
open var Project:ProjectInfo? = null
@DataMember(Name="PurchaseOrder")
@SerializedName("PurchaseOrder")
open var PurchaseOrder:PurchaseOrderInfo? = null
@DataMember(Name="Activity")
@SerializedName("Activity")
open var Activity:ActivityReference? = null
@DataMember(Name="Params")
@SerializedName("Params")
open var Params:ArrayList<ScheduleParams>? = null
@DataMember(Name="Attachments")
@SerializedName("Attachments")
open var Attachments:ArrayList<EmailAttachment>? = null
}
@DataContract
open class ContactInfo
{
@DataMember(Name="Id")
@SerializedName("Id")
open var Id:UUID? = null
@DataMember(Name="Name")
@SerializedName("Name")
open var Name:String? = null
@DataMember(Name="Email")
@SerializedName("Email")
open var Email:String? = null
@DataMember(Name="Phone")
@SerializedName("Phone")
open var Phone:String? = null
@DataMember(Name="ContactReference")
@SerializedName("ContactReference")
open var ContactReference:ObjectReference? = null
}
@DataContract
open class ObjectReference
{
@DataMember(Name="RmsTableContextId")
@SerializedName("RmsTableContextId")
open var RmsTableContextId:UUID? = null
@DataMember(Name="AlternateKey")
@SerializedName("AlternateKey")
open var AlternateKey:String? = null
@DataMember(Name="DataSourceInstanceId")
@SerializedName("DataSourceInstanceId")
open var DataSourceInstanceId:UUID? = null
}
@DataContract
open class ProjectInfo
{
@DataMember(Name="Id")
@SerializedName("Id")
open var Id:UUID? = null
@DataMember(Name="Name")
@SerializedName("Name")
open var Name:String? = null
@DataMember(Name="Reference")
@SerializedName("Reference")
open var Reference:String? = null
@DataMember(Name="Description")
@SerializedName("Description")
open var Description:String? = null
@DataMember(Name="Address")
@SerializedName("Address")
open var Address:String? = null
@DataMember(Name="HouseType")
@SerializedName("HouseType")
open var HouseType:String? = null
@DataMember(Name="Elevation")
@SerializedName("Elevation")
open var Elevation:String? = null
@DataMember(Name="CustomerName")
@SerializedName("CustomerName")
open var CustomerName:String? = null
@DataMember(Name="Supervisor")
@SerializedName("Supervisor")
open var Supervisor:ContactInfo? = null
@DataMember(Name="ProjectReference")
@SerializedName("ProjectReference")
open var ProjectReference:ObjectReference? = null
}
@DataContract
open class PurchaseOrderInfo
{
@DataMember(Name="Id")
@SerializedName("Id")
open var Id:UUID? = null
@DataMember(Name="Reference")
@SerializedName("Reference")
open var Reference:String? = null
@DataMember(Name="Description")
@SerializedName("Description")
open var Description:String? = null
@DataMember(Name="PurchaseOrderReference")
@SerializedName("PurchaseOrderReference")
open var PurchaseOrderReference:ObjectReference? = null
}
@DataContract
open class ActivityReference
{
/**
* Name/details of the activity
*/
@DataMember(Name="name")
@SerializedName("name")
@ApiMember(Description="Name/details of the activity", IsRequired=true, Name="Name")
open var Name:String? = null
@DataMember(Name="notes")
@SerializedName("notes")
open var Notes:String? = null
}
@DataContract
open class ScheduleParams
{
@DataMember(Name="Name")
@SerializedName("Name")
open var Name:String? = null
@DataMember(Name="Value")
@SerializedName("Value")
open var Value:String? = null
}
open class EmailAttachment
{
open var FileName:String? = null
open var ContentType:String? = null
open var Path:String? = null
open var Url:String? = null
open var Length:Long? = null
open var FileStream:InputStream? = null
open var StreamContent:String? = null
open var AttachmentType:AttachmentType? = null
open var ProcessedAndUploadedAsBlob:Boolean? = null
}
enum class AttachmentType
{
Url,
FileStream,
}
open class ScheduleResponse
{
open var ReferenceId:UUID? = null
open var CommunicationId:UUID? = null
open var Success:Boolean? = null
open var Message:String? = null
open var Payload:String? = null
}
Kotlin CancelScheduleRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .xml suffix or ?format=xml
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
POST /api/schedules/{RequestId}/cancel HTTP/1.1
Host: production-eros-gateway-api-supplierconnect.azurewebsites.net
Accept: application/xml
Content-Type: application/xml
Content-Length: length
<CancelScheduleRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Dvaravartman.SupplierConnect.Model.APIModels">
<Activity>
<name>String</name>
<notes>String</notes>
</Activity>
<Attachments xmlns:d2p1="http://schemas.datacontract.org/2004/07/Eros.Saguna.Common.Library">
<d2p1:EmailAttachment>
<d2p1:AttachmentType>Url</d2p1:AttachmentType>
<d2p1:ContentType>String</d2p1:ContentType>
<d2p1:FileName>String</d2p1:FileName>
<d2p1:FileStream xmlns:d4p1="http://schemas.datacontract.org/2004/07/System.IO" i:nil="true" />
<d2p1:Length>0</d2p1:Length>
<d2p1:Path>String</d2p1:Path>
<d2p1:ProcessedAndUploadedAsBlob>false</d2p1:ProcessedAndUploadedAsBlob>
<d2p1:StreamContent>String</d2p1:StreamContent>
<d2p1:Url>String</d2p1:Url>
</d2p1:EmailAttachment>
</Attachments>
<Params>
<ScheduleParams>
<Name>String</Name>
<Value>String</Value>
</ScheduleParams>
</Params>
<Project>
<Address>String</Address>
<CustomerName>String</CustomerName>
<Description>String</Description>
<Elevation>String</Elevation>
<HouseType>String</HouseType>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Name>String</Name>
<ProjectReference>
<AlternateKey>String</AlternateKey>
<DataSourceInstanceId>00000000-0000-0000-0000-000000000000</DataSourceInstanceId>
<RmsTableContextId>00000000-0000-0000-0000-000000000000</RmsTableContextId>
</ProjectReference>
<Reference>String</Reference>
<Supervisor>
<ContactReference>
<AlternateKey>String</AlternateKey>
<DataSourceInstanceId>00000000-0000-0000-0000-000000000000</DataSourceInstanceId>
<RmsTableContextId>00000000-0000-0000-0000-000000000000</RmsTableContextId>
</ContactReference>
<Email>String</Email>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Name>String</Name>
<Phone>String</Phone>
</Supervisor>
</Project>
<PurchaseOrder>
<Description>String</Description>
<Id>00000000-0000-0000-0000-000000000000</Id>
<PurchaseOrderReference>
<AlternateKey>String</AlternateKey>
<DataSourceInstanceId>00000000-0000-0000-0000-000000000000</DataSourceInstanceId>
<RmsTableContextId>00000000-0000-0000-0000-000000000000</RmsTableContextId>
</PurchaseOrderReference>
<Reference>String</Reference>
</PurchaseOrder>
<RequestId>00000000-0000-0000-0000-000000000000</RequestId>
<Requester>
<ContactReference>
<AlternateKey>String</AlternateKey>
<DataSourceInstanceId>00000000-0000-0000-0000-000000000000</DataSourceInstanceId>
<RmsTableContextId>00000000-0000-0000-0000-000000000000</RmsTableContextId>
</ContactReference>
<Email>String</Email>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Name>String</Name>
<Phone>String</Phone>
</Requester>
<ScheduleDateTime>0001-01-01T00:00:00</ScheduleDateTime>
<Supplier>
<ContactReference>
<AlternateKey>String</AlternateKey>
<DataSourceInstanceId>00000000-0000-0000-0000-000000000000</DataSourceInstanceId>
<RmsTableContextId>00000000-0000-0000-0000-000000000000</RmsTableContextId>
</ContactReference>
<Email>String</Email>
<Id>00000000-0000-0000-0000-000000000000</Id>
<Name>String</Name>
<Phone>String</Phone>
</Supplier>
</CancelScheduleRequest>
HTTP/1.1 200 OK Content-Type: application/xml Content-Length: length <ScheduleResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Eros.Subtle.Dvaravartman.SupplierConnect.Model.APIModels"> <CommunicationId>00000000-0000-0000-0000-000000000000</CommunicationId> <Message>String</Message> <Payload>String</Payload> <ReferenceId>00000000-0000-0000-0000-000000000000</ReferenceId> <Success>false</Success> </ScheduleResponse>