Trendsic Platform Service

<back to all web services

AvailabilityListRequest

Requires Authentication
Requires any of the roles:Agent, Administrator
The following routes are available for this service:
GET,OPTIONS/v1/Rfp/Availability
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

class AvailabilityRowView implements IConvertible
{
    int? ResourceAvailabilityID;
    String? ResourceType;
    String? Label;
    String? EquipmentName;
    String? RolesCsv;
    double? InternalRate;
    double? RentalRate;
    double? PremiumPerHour;
    DateTime? AvailableFrom;
    String? FreedFromProjectLabel;
    String? Source;

    AvailabilityRowView({this.ResourceAvailabilityID,this.ResourceType,this.Label,this.EquipmentName,this.RolesCsv,this.InternalRate,this.RentalRate,this.PremiumPerHour,this.AvailableFrom,this.FreedFromProjectLabel,this.Source});
    AvailabilityRowView.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ResourceAvailabilityID = json['ResourceAvailabilityID'];
        ResourceType = json['ResourceType'];
        Label = json['Label'];
        EquipmentName = json['EquipmentName'];
        RolesCsv = json['RolesCsv'];
        InternalRate = JsonConverters.toDouble(json['InternalRate']);
        RentalRate = JsonConverters.toDouble(json['RentalRate']);
        PremiumPerHour = JsonConverters.toDouble(json['PremiumPerHour']);
        AvailableFrom = JsonConverters.fromJson(json['AvailableFrom'],'DateTime',context!);
        FreedFromProjectLabel = json['FreedFromProjectLabel'];
        Source = json['Source'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ResourceAvailabilityID': ResourceAvailabilityID,
        'ResourceType': ResourceType,
        'Label': Label,
        'EquipmentName': EquipmentName,
        'RolesCsv': RolesCsv,
        'InternalRate': InternalRate,
        'RentalRate': RentalRate,
        'PremiumPerHour': PremiumPerHour,
        'AvailableFrom': JsonConverters.toJson(AvailableFrom,'DateTime',context!),
        'FreedFromProjectLabel': FreedFromProjectLabel,
        'Source': Source
    };

    getTypeName() => "AvailabilityRowView";
    TypeContext? context = _ctx;
}

class AvailabilityRefreshSummary implements IConvertible
{
    int? Derived;
    int? DeactivatedStale;
    int? SkippedManualPrecedence;
    int? SkippedNoRentalSource;
    int? SkippedNoDayRate;
    List<String>? Notes = [];

    AvailabilityRefreshSummary({this.Derived,this.DeactivatedStale,this.SkippedManualPrecedence,this.SkippedNoRentalSource,this.SkippedNoDayRate,this.Notes});
    AvailabilityRefreshSummary.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        Derived = json['Derived'];
        DeactivatedStale = json['DeactivatedStale'];
        SkippedManualPrecedence = json['SkippedManualPrecedence'];
        SkippedNoRentalSource = json['SkippedNoRentalSource'];
        SkippedNoDayRate = json['SkippedNoDayRate'];
        Notes = JsonConverters.fromJson(json['Notes'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'Derived': Derived,
        'DeactivatedStale': DeactivatedStale,
        'SkippedManualPrecedence': SkippedManualPrecedence,
        'SkippedNoRentalSource': SkippedNoRentalSource,
        'SkippedNoDayRate': SkippedNoDayRate,
        'Notes': JsonConverters.toJson(Notes,'List<String>',context!)
    };

    getTypeName() => "AvailabilityRefreshSummary";
    TypeContext? context = _ctx;
}

class AvailabilityListResponse implements IConvertible
{
    ResponseStatus? ResponseStatus;
    List<AvailabilityRowView>? Rows = [];
    List<String>? EquipmentNames = [];
    List<String>? CrewRoles = [];
    AvailabilityRefreshSummary? Summary;

    AvailabilityListResponse({this.ResponseStatus,this.Rows,this.EquipmentNames,this.CrewRoles,this.Summary});
    AvailabilityListResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!);
        Rows = JsonConverters.fromJson(json['Rows'],'List<AvailabilityRowView>',context!);
        EquipmentNames = JsonConverters.fromJson(json['EquipmentNames'],'List<String>',context!);
        CrewRoles = JsonConverters.fromJson(json['CrewRoles'],'List<String>',context!);
        Summary = JsonConverters.fromJson(json['Summary'],'AvailabilityRefreshSummary',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!),
        'Rows': JsonConverters.toJson(Rows,'List<AvailabilityRowView>',context!),
        'EquipmentNames': JsonConverters.toJson(EquipmentNames,'List<String>',context!),
        'CrewRoles': JsonConverters.toJson(CrewRoles,'List<String>',context!),
        'Summary': JsonConverters.toJson(Summary,'AvailabilityRefreshSummary',context!)
    };

    getTypeName() => "AvailabilityListResponse";
    TypeContext? context = _ctx;
}

class AvailabilityListRequest implements IConvertible
{
    AvailabilityListRequest();
    AvailabilityListRequest.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    getTypeName() => "AvailabilityListRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'api.dev.dynamics.trendsic.com', types: <String, TypeInfo> {
    'AvailabilityRowView': TypeInfo(TypeOf.Class, create:() => AvailabilityRowView()),
    'AvailabilityRefreshSummary': TypeInfo(TypeOf.Class, create:() => AvailabilityRefreshSummary()),
    'AvailabilityListResponse': TypeInfo(TypeOf.Class, create:() => AvailabilityListResponse()),
    'List<AvailabilityRowView>': TypeInfo(TypeOf.Class, create:() => <AvailabilityRowView>[]),
    'AvailabilityListRequest': TypeInfo(TypeOf.Class, create:() => AvailabilityListRequest()),
});

Dart AvailabilityListRequest DTOs

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

HTTP + XML

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

GET /v1/Rfp/Availability HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<AvailabilityListResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <CrewRoles xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </CrewRoles>
  <EquipmentNames xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
    <d2p1:string>String</d2p1:string>
  </EquipmentNames>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types">
    <d2p1:ErrorCode>String</d2p1:ErrorCode>
    <d2p1:Message>String</d2p1:Message>
    <d2p1:StackTrace>String</d2p1:StackTrace>
    <d2p1:Errors>
      <d2p1:ResponseError>
        <d2p1:ErrorCode>String</d2p1:ErrorCode>
        <d2p1:FieldName>String</d2p1:FieldName>
        <d2p1:Message>String</d2p1:Message>
        <d2p1:Meta xmlns:d5p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
          <d5p1:KeyValueOfstringstring>
            <d5p1:Key>String</d5p1:Key>
            <d5p1:Value>String</d5p1:Value>
          </d5p1:KeyValueOfstringstring>
        </d2p1:Meta>
      </d2p1:ResponseError>
    </d2p1:Errors>
    <d2p1:Meta xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:KeyValueOfstringstring>
        <d3p1:Key>String</d3p1:Key>
        <d3p1:Value>String</d3p1:Value>
      </d3p1:KeyValueOfstringstring>
    </d2p1:Meta>
  </ResponseStatus>
  <Rows>
    <AvailabilityRowView>
      <AvailableFrom>0001-01-01T00:00:00</AvailableFrom>
      <EquipmentName>String</EquipmentName>
      <FreedFromProjectLabel>String</FreedFromProjectLabel>
      <InternalRate>0</InternalRate>
      <Label>String</Label>
      <PremiumPerHour>0</PremiumPerHour>
      <RentalRate>0</RentalRate>
      <ResourceAvailabilityID>0</ResourceAvailabilityID>
      <ResourceType>String</ResourceType>
      <RolesCsv>String</RolesCsv>
      <Source>String</Source>
    </AvailabilityRowView>
  </Rows>
  <Summary>
    <DeactivatedStale>0</DeactivatedStale>
    <Derived>0</Derived>
    <Notes xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
      <d3p1:string>String</d3p1:string>
    </Notes>
    <SkippedManualPrecedence>0</SkippedManualPrecedence>
    <SkippedNoDayRate>0</SkippedNoDayRate>
    <SkippedNoRentalSource>0</SkippedNoRentalSource>
  </Summary>
</AvailabilityListResponse>