Antel API

<back to all web services

GetUpliftSchedule

Requires Authentication
The following routes are available for this service:
GET/upliftscedule
import 'package:servicestack/servicestack.dart';

class ApiServiceRequest implements IServiceRequest, IHasApiKey, IHasDeviceInfo, IConvertible
{
    /**
    * The API Key required for authentication
    */
    // @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
    String? apiKey;

    /**
    * Latitude of the user making this request
    */
    // @ApiMember(DataType="double", Description="Latitude of the user making this request")
    double? latitude;

    /**
    * Longitude of the user making this request
    */
    // @ApiMember(DataType="double", Description="Longitude of the user making this request")
    double? longitude;

    ApiServiceRequest({this.apiKey,this.latitude,this.longitude});
    ApiServiceRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        apiKey = json['apiKey'];
        latitude = JsonConverters.toDouble(json['latitude']);
        longitude = JsonConverters.toDouble(json['longitude']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'apiKey': apiKey,
        'latitude': latitude,
        'longitude': longitude
    };

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

class ApiServiceResponse implements IServiceResponse, IConvertible
{
    /**
    * Information about the response.
    */
    // @ApiMember(Description="Information about the response.", IsRequired=true)
    String? description;

    /**
    * Heading or summary of the response.
    */
    // @ApiMember(Description="Heading or summary of the response.", IsRequired=true)
    String? heading;

    /**
    * Did the intended operation for this response complete successfully?
    */
    // @ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true)
    bool? wasSuccessful;

    ResponseStatus? responseStatus;

    ApiServiceResponse({this.description,this.heading,this.wasSuccessful,this.responseStatus});
    ApiServiceResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        description = json['description'];
        heading = json['heading'];
        wasSuccessful = json['wasSuccessful'];
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'description': description,
        'heading': heading,
        'wasSuccessful': wasSuccessful,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

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

class UpliftScheduleStatus
{
    static const UpliftScheduleStatus Unconfirmed = const UpliftScheduleStatus._(0);
    static const UpliftScheduleStatus Confirmed = const UpliftScheduleStatus._(1);
    static const UpliftScheduleStatus PortalCancelled = const UpliftScheduleStatus._(4);
    static const UpliftScheduleStatus UserCancelled = const UpliftScheduleStatus._(5);
    static const UpliftScheduleStatus NoOperatorAssigned = const UpliftScheduleStatus._(6);

    final int _value;
    const UpliftScheduleStatus._(this._value);
    int get value => _value;
    static List<UpliftScheduleStatus> get values => const [Unconfirmed,Confirmed,PortalCancelled,UserCancelled,NoOperatorAssigned];
}

class ProductData implements IConvertible
{
    int? productId;
    int? principalId;
    String? name;
    String? category;
    String? productCode;
    String? unitBarcode;
    int? cartonQuantity;
    int? shrinkQuantity;
    int? unitQuantity;
    String? cartonMeasurement;
    String? shrinkMeasurement;
    String? unitMeasurement;
    double? cartonWeight;
    double? shrinkWeight;
    double? unitWeight;
    double? cartonPrice;
    double? shrinkPrice;
    double? unitPrice;
    int? maxQuantity;
    int? maxPrice;

    ProductData({this.productId,this.principalId,this.name,this.category,this.productCode,this.unitBarcode,this.cartonQuantity,this.shrinkQuantity,this.unitQuantity,this.cartonMeasurement,this.shrinkMeasurement,this.unitMeasurement,this.cartonWeight,this.shrinkWeight,this.unitWeight,this.cartonPrice,this.shrinkPrice,this.unitPrice,this.maxQuantity,this.maxPrice});
    ProductData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        productId = json['productId'];
        principalId = json['principalId'];
        name = json['name'];
        category = json['category'];
        productCode = json['productCode'];
        unitBarcode = json['unitBarcode'];
        cartonQuantity = json['cartonQuantity'];
        shrinkQuantity = json['shrinkQuantity'];
        unitQuantity = json['unitQuantity'];
        cartonMeasurement = json['cartonMeasurement'];
        shrinkMeasurement = json['shrinkMeasurement'];
        unitMeasurement = json['unitMeasurement'];
        cartonWeight = JsonConverters.toDouble(json['cartonWeight']);
        shrinkWeight = JsonConverters.toDouble(json['shrinkWeight']);
        unitWeight = JsonConverters.toDouble(json['unitWeight']);
        cartonPrice = JsonConverters.toDouble(json['cartonPrice']);
        shrinkPrice = JsonConverters.toDouble(json['shrinkPrice']);
        unitPrice = JsonConverters.toDouble(json['unitPrice']);
        maxQuantity = json['maxQuantity'];
        maxPrice = json['maxPrice'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'productId': productId,
        'principalId': principalId,
        'name': name,
        'category': category,
        'productCode': productCode,
        'unitBarcode': unitBarcode,
        'cartonQuantity': cartonQuantity,
        'shrinkQuantity': shrinkQuantity,
        'unitQuantity': unitQuantity,
        'cartonMeasurement': cartonMeasurement,
        'shrinkMeasurement': shrinkMeasurement,
        'unitMeasurement': unitMeasurement,
        'cartonWeight': cartonWeight,
        'shrinkWeight': shrinkWeight,
        'unitWeight': unitWeight,
        'cartonPrice': cartonPrice,
        'shrinkPrice': shrinkPrice,
        'unitPrice': unitPrice,
        'maxQuantity': maxQuantity,
        'maxPrice': maxPrice
    };

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

class ProductDataCategory implements IConvertible
{
    String? unitBarcode;
    List<ProductData>? products;

    ProductDataCategory({this.unitBarcode,this.products});
    ProductDataCategory.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        unitBarcode = json['unitBarcode'];
        products = JsonConverters.fromJson(json['products'],'List<ProductData>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'unitBarcode': unitBarcode,
        'products': JsonConverters.toJson(products,'List<ProductData>',context!)
    };

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

class ProductExceptionData implements IConvertible
{
    String? region;
    String? channel;
    int? productId;
    List<int>? stockStatusIds;

    ProductExceptionData({this.region,this.channel,this.productId,this.stockStatusIds});
    ProductExceptionData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        region = json['region'];
        channel = json['channel'];
        productId = json['productId'];
        stockStatusIds = JsonConverters.fromJson(json['stockStatusIds'],'List<int>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'region': region,
        'channel': channel,
        'productId': productId,
        'stockStatusIds': JsonConverters.toJson(stockStatusIds,'List<int>',context!)
    };

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

class PrincipalData implements IConvertible
{
    int? principalId;
    String? name;
    List<String>? authLetterFileUrl;
    String? logoImageUrl;
    List<ProductDataCategory>? products;
    String? upliftPrefix;
    String? contactName;
    String? contactNumber;
    String? contactEmail;
    bool? allowProductLookup;
    bool? hasLogo;
    bool? hasAuthLetter;
    bool? sealNetWeightMandatory;
    bool? allowBillableSeals;
    bool? captureSerialNumber;
    bool? batchCodesMandatory;
    bool? captureManufactureAndExpiryDate;
    List<ProductExceptionData>? productExceptions;
    bool? usesOwnSealNumbers;

    PrincipalData({this.principalId,this.name,this.authLetterFileUrl,this.logoImageUrl,this.products,this.upliftPrefix,this.contactName,this.contactNumber,this.contactEmail,this.allowProductLookup,this.hasLogo,this.hasAuthLetter,this.sealNetWeightMandatory,this.allowBillableSeals,this.captureSerialNumber,this.batchCodesMandatory,this.captureManufactureAndExpiryDate,this.productExceptions,this.usesOwnSealNumbers});
    PrincipalData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        principalId = json['principalId'];
        name = json['name'];
        authLetterFileUrl = JsonConverters.fromJson(json['authLetterFileUrl'],'List<String>',context!);
        logoImageUrl = json['logoImageUrl'];
        products = JsonConverters.fromJson(json['products'],'List<ProductDataCategory>',context!);
        upliftPrefix = json['upliftPrefix'];
        contactName = json['contactName'];
        contactNumber = json['contactNumber'];
        contactEmail = json['contactEmail'];
        allowProductLookup = json['allowProductLookup'];
        hasLogo = json['hasLogo'];
        hasAuthLetter = json['hasAuthLetter'];
        sealNetWeightMandatory = json['sealNetWeightMandatory'];
        allowBillableSeals = json['allowBillableSeals'];
        captureSerialNumber = json['captureSerialNumber'];
        batchCodesMandatory = json['batchCodesMandatory'];
        captureManufactureAndExpiryDate = json['captureManufactureAndExpiryDate'];
        productExceptions = JsonConverters.fromJson(json['productExceptions'],'List<ProductExceptionData>',context!);
        usesOwnSealNumbers = json['usesOwnSealNumbers'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'principalId': principalId,
        'name': name,
        'authLetterFileUrl': JsonConverters.toJson(authLetterFileUrl,'List<String>',context!),
        'logoImageUrl': logoImageUrl,
        'products': JsonConverters.toJson(products,'List<ProductDataCategory>',context!),
        'upliftPrefix': upliftPrefix,
        'contactName': contactName,
        'contactNumber': contactNumber,
        'contactEmail': contactEmail,
        'allowProductLookup': allowProductLookup,
        'hasLogo': hasLogo,
        'hasAuthLetter': hasAuthLetter,
        'sealNetWeightMandatory': sealNetWeightMandatory,
        'allowBillableSeals': allowBillableSeals,
        'captureSerialNumber': captureSerialNumber,
        'batchCodesMandatory': batchCodesMandatory,
        'captureManufactureAndExpiryDate': captureManufactureAndExpiryDate,
        'productExceptions': JsonConverters.toJson(productExceptions,'List<ProductExceptionData>',context!),
        'usesOwnSealNumbers': usesOwnSealNumbers
    };

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

class ActionOutsideMaxDistanceType
{
    static const ActionOutsideMaxDistanceType Warn = const ActionOutsideMaxDistanceType._(0);
    static const ActionOutsideMaxDistanceType Block = const ActionOutsideMaxDistanceType._(1);

    final int _value;
    const ActionOutsideMaxDistanceType._(this._value);
    int get value => _value;
    static List<ActionOutsideMaxDistanceType> get values => const [Warn,Block];
}

class TemplateProductData implements IConvertible
{
    String? name;
    String? productCode;
    String? barcode;
    Map<int,int?>? statusQty;
    double? returnValue;

    TemplateProductData({this.name,this.productCode,this.barcode,this.statusQty,this.returnValue});
    TemplateProductData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        productCode = json['productCode'];
        barcode = json['barcode'];
        statusQty = JsonConverters.fromJson(json['statusQty'],'Map<int,int?>',context!);
        returnValue = JsonConverters.toDouble(json['returnValue']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'productCode': productCode,
        'barcode': barcode,
        'statusQty': JsonConverters.toJson(statusQty,'Map<int,int?>',context!),
        'returnValue': returnValue
    };

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

class UpliftRequestSealData implements IConvertible
{
    String? number;
    double? weight;

    UpliftRequestSealData({this.number,this.weight});
    UpliftRequestSealData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        number = json['number'];
        weight = JsonConverters.toDouble(json['weight']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'number': number,
        'weight': weight
    };

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

class UpliftTemplateData implements IConvertible
{
    double? totalValue;
    List<TemplateProductData>? products;
    List<UpliftRequestSealData>? seals;

    UpliftTemplateData({this.totalValue,this.products,this.seals});
    UpliftTemplateData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        totalValue = JsonConverters.toDouble(json['totalValue']);
        products = JsonConverters.fromJson(json['products'],'List<TemplateProductData>',context!);
        seals = JsonConverters.fromJson(json['seals'],'List<UpliftRequestSealData>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'totalValue': totalValue,
        'products': JsonConverters.toJson(products,'List<TemplateProductData>',context!),
        'seals': JsonConverters.toJson(seals,'List<UpliftRequestSealData>',context!)
    };

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

class StockStatusData implements IConvertible
{
    int? id;
    String? name;
    bool? photoRequired;
    String? color;

    StockStatusData({this.id,this.name,this.photoRequired,this.color});
    StockStatusData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        name = json['name'];
        photoRequired = json['photoRequired'];
        color = json['color'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'name': name,
        'photoRequired': photoRequired,
        'color': color
    };

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

class SealTemplateProduct implements IConvertible
{
    int? productId;
    String? name;
    int? productStockStatusId;
    int? quantity;
    String? serialNumber;

    SealTemplateProduct({this.productId,this.name,this.productStockStatusId,this.quantity,this.serialNumber});
    SealTemplateProduct.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        productId = json['productId'];
        name = json['name'];
        productStockStatusId = json['productStockStatusId'];
        quantity = json['quantity'];
        serialNumber = json['serialNumber'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'productId': productId,
        'name': name,
        'productStockStatusId': productStockStatusId,
        'quantity': quantity,
        'serialNumber': serialNumber
    };

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

class SealTemplateItemData implements IConvertible
{
    String? sealNumber;
    int? productStockStatus;
    List<SealTemplateProduct>? products;

    SealTemplateItemData({this.sealNumber,this.productStockStatus,this.products});
    SealTemplateItemData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        sealNumber = json['sealNumber'];
        productStockStatus = json['productStockStatus'];
        products = JsonConverters.fromJson(json['products'],'List<SealTemplateProduct>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'sealNumber': sealNumber,
        'productStockStatus': productStockStatus,
        'products': JsonConverters.toJson(products,'List<SealTemplateProduct>',context!)
    };

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

class SealTemplateData implements IConvertible
{
    List<SealTemplateItemData>? items;

    SealTemplateData({this.items});
    SealTemplateData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        items = JsonConverters.fromJson(json['items'],'List<SealTemplateItemData>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'items': JsonConverters.toJson(items,'List<SealTemplateItemData>',context!)
    };

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

class AppointmentPrincipleData implements IConvertible
{
    PrincipalData? principle;
    String? scheduledDate;
    int? upliftScheduleId;
    int? upliftSchedulePrincipleId;
    int? principleOutletId;
    String? verificationCode;
    bool? goodsToCollect;
    String? outletRegion;
    String? outletName;
    String? outletChannel;
    double? outletLatitude;
    double? outletLongitude;
    double? maxSubmissionDistance;
    ActionOutsideMaxDistanceType? actionOutsideMaxDistance;
    String? completedDate;
    bool? cancelled;
    bool? completed;
    UpliftTemplateData? upliftTemplate;
    bool? prePopulated;
    List<StockStatusData>? allowedProductStockStatuses;
    String? noteToOperator;
    SealTemplateData? sealTemplate;
    bool? prePopulatedWithSeals;
    bool? preAuthed;
    String? operatorName;
    int? systemUserId;
    List<ProductExceptionData>? productExceptions;
    String? storeConfirmationDocumentUrl;

    AppointmentPrincipleData({this.principle,this.scheduledDate,this.upliftScheduleId,this.upliftSchedulePrincipleId,this.principleOutletId,this.verificationCode,this.goodsToCollect,this.outletRegion,this.outletName,this.outletChannel,this.outletLatitude,this.outletLongitude,this.maxSubmissionDistance,this.actionOutsideMaxDistance,this.completedDate,this.cancelled,this.completed,this.upliftTemplate,this.prePopulated,this.allowedProductStockStatuses,this.noteToOperator,this.sealTemplate,this.prePopulatedWithSeals,this.preAuthed,this.operatorName,this.systemUserId,this.productExceptions,this.storeConfirmationDocumentUrl});
    AppointmentPrincipleData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        principle = JsonConverters.fromJson(json['principle'],'PrincipalData',context!);
        scheduledDate = json['scheduledDate'];
        upliftScheduleId = json['upliftScheduleId'];
        upliftSchedulePrincipleId = json['upliftSchedulePrincipleId'];
        principleOutletId = json['principleOutletId'];
        verificationCode = json['verificationCode'];
        goodsToCollect = json['goodsToCollect'];
        outletRegion = json['outletRegion'];
        outletName = json['outletName'];
        outletChannel = json['outletChannel'];
        outletLatitude = JsonConverters.toDouble(json['outletLatitude']);
        outletLongitude = JsonConverters.toDouble(json['outletLongitude']);
        maxSubmissionDistance = JsonConverters.toDouble(json['maxSubmissionDistance']);
        actionOutsideMaxDistance = JsonConverters.fromJson(json['actionOutsideMaxDistance'],'ActionOutsideMaxDistanceType',context!);
        completedDate = json['completedDate'];
        cancelled = json['cancelled'];
        completed = json['completed'];
        upliftTemplate = JsonConverters.fromJson(json['upliftTemplate'],'UpliftTemplateData',context!);
        prePopulated = json['prePopulated'];
        allowedProductStockStatuses = JsonConverters.fromJson(json['allowedProductStockStatuses'],'List<StockStatusData>',context!);
        noteToOperator = json['noteToOperator'];
        sealTemplate = JsonConverters.fromJson(json['sealTemplate'],'SealTemplateData',context!);
        prePopulatedWithSeals = json['prePopulatedWithSeals'];
        preAuthed = json['preAuthed'];
        operatorName = json['operatorName'];
        systemUserId = json['systemUserId'];
        productExceptions = JsonConverters.fromJson(json['productExceptions'],'List<ProductExceptionData>',context!);
        storeConfirmationDocumentUrl = json['storeConfirmationDocumentUrl'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'principle': JsonConverters.toJson(principle,'PrincipalData',context!),
        'scheduledDate': scheduledDate,
        'upliftScheduleId': upliftScheduleId,
        'upliftSchedulePrincipleId': upliftSchedulePrincipleId,
        'principleOutletId': principleOutletId,
        'verificationCode': verificationCode,
        'goodsToCollect': goodsToCollect,
        'outletRegion': outletRegion,
        'outletName': outletName,
        'outletChannel': outletChannel,
        'outletLatitude': outletLatitude,
        'outletLongitude': outletLongitude,
        'maxSubmissionDistance': maxSubmissionDistance,
        'actionOutsideMaxDistance': JsonConverters.toJson(actionOutsideMaxDistance,'ActionOutsideMaxDistanceType',context!),
        'completedDate': completedDate,
        'cancelled': cancelled,
        'completed': completed,
        'upliftTemplate': JsonConverters.toJson(upliftTemplate,'UpliftTemplateData',context!),
        'prePopulated': prePopulated,
        'allowedProductStockStatuses': JsonConverters.toJson(allowedProductStockStatuses,'List<StockStatusData>',context!),
        'noteToOperator': noteToOperator,
        'sealTemplate': JsonConverters.toJson(sealTemplate,'SealTemplateData',context!),
        'prePopulatedWithSeals': prePopulatedWithSeals,
        'preAuthed': preAuthed,
        'operatorName': operatorName,
        'systemUserId': systemUserId,
        'productExceptions': JsonConverters.toJson(productExceptions,'List<ProductExceptionData>',context!),
        'storeConfirmationDocumentUrl': storeConfirmationDocumentUrl
    };

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

class AppointmentData implements IConvertible
{
    int? scheduleId;
    String? appointmentDate;
    String? outletName;
    String? outletChannel;
    UpliftScheduleStatus? upliftStatus;
    bool? isComplete;
    bool? inProgress;
    bool? isLate;
    bool? goodToCollectStatus;
    String? principlesWithGoodsToCollect;
    List<AppointmentPrincipleData>? principleAppointments;

    AppointmentData({this.scheduleId,this.appointmentDate,this.outletName,this.outletChannel,this.upliftStatus,this.isComplete,this.inProgress,this.isLate,this.goodToCollectStatus,this.principlesWithGoodsToCollect,this.principleAppointments});
    AppointmentData.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        scheduleId = json['scheduleId'];
        appointmentDate = json['appointmentDate'];
        outletName = json['outletName'];
        outletChannel = json['outletChannel'];
        upliftStatus = JsonConverters.fromJson(json['upliftStatus'],'UpliftScheduleStatus',context!);
        isComplete = json['isComplete'];
        inProgress = json['inProgress'];
        isLate = json['isLate'];
        goodToCollectStatus = json['goodToCollectStatus'];
        principlesWithGoodsToCollect = json['principlesWithGoodsToCollect'];
        principleAppointments = JsonConverters.fromJson(json['principleAppointments'],'List<AppointmentPrincipleData>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'scheduleId': scheduleId,
        'appointmentDate': appointmentDate,
        'outletName': outletName,
        'outletChannel': outletChannel,
        'upliftStatus': JsonConverters.toJson(upliftStatus,'UpliftScheduleStatus',context!),
        'isComplete': isComplete,
        'inProgress': inProgress,
        'isLate': isLate,
        'goodToCollectStatus': goodToCollectStatus,
        'principlesWithGoodsToCollect': principlesWithGoodsToCollect,
        'principleAppointments': JsonConverters.toJson(principleAppointments,'List<AppointmentPrincipleData>',context!)
    };

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

class GetUpliftScheduleResponse extends ApiServiceResponse implements IConvertible
{
    List<AppointmentData>? appointments;

    GetUpliftScheduleResponse({this.appointments});
    GetUpliftScheduleResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        appointments = JsonConverters.fromJson(json['appointments'],'List<AppointmentData>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'appointments': JsonConverters.toJson(appointments,'List<AppointmentData>',context!)
    });

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

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

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "GetUpliftSchedule";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'antel.api.dev.86degrees.com', types: <String, TypeInfo> {
    'ApiServiceRequest': TypeInfo(TypeOf.Class, create:() => ApiServiceRequest()),
    'ApiServiceResponse': TypeInfo(TypeOf.Class, create:() => ApiServiceResponse()),
    'UpliftScheduleStatus': TypeInfo(TypeOf.Enum, enumValues:UpliftScheduleStatus.values),
    'ProductData': TypeInfo(TypeOf.Class, create:() => ProductData()),
    'ProductDataCategory': TypeInfo(TypeOf.Class, create:() => ProductDataCategory()),
    'List<ProductData>': TypeInfo(TypeOf.Class, create:() => <ProductData>[]),
    'ProductExceptionData': TypeInfo(TypeOf.Class, create:() => ProductExceptionData()),
    'PrincipalData': TypeInfo(TypeOf.Class, create:() => PrincipalData()),
    'List<ProductDataCategory>': TypeInfo(TypeOf.Class, create:() => <ProductDataCategory>[]),
    'List<ProductExceptionData>': TypeInfo(TypeOf.Class, create:() => <ProductExceptionData>[]),
    'ActionOutsideMaxDistanceType': TypeInfo(TypeOf.Enum, enumValues:ActionOutsideMaxDistanceType.values),
    'TemplateProductData': TypeInfo(TypeOf.Class, create:() => TemplateProductData()),
    'Map<int,int?>': TypeInfo(TypeOf.Class, create:() => Map<int,int?>()),
    'UpliftRequestSealData': TypeInfo(TypeOf.Class, create:() => UpliftRequestSealData()),
    'UpliftTemplateData': TypeInfo(TypeOf.Class, create:() => UpliftTemplateData()),
    'List<TemplateProductData>': TypeInfo(TypeOf.Class, create:() => <TemplateProductData>[]),
    'List<UpliftRequestSealData>': TypeInfo(TypeOf.Class, create:() => <UpliftRequestSealData>[]),
    'StockStatusData': TypeInfo(TypeOf.Class, create:() => StockStatusData()),
    'SealTemplateProduct': TypeInfo(TypeOf.Class, create:() => SealTemplateProduct()),
    'SealTemplateItemData': TypeInfo(TypeOf.Class, create:() => SealTemplateItemData()),
    'List<SealTemplateProduct>': TypeInfo(TypeOf.Class, create:() => <SealTemplateProduct>[]),
    'SealTemplateData': TypeInfo(TypeOf.Class, create:() => SealTemplateData()),
    'List<SealTemplateItemData>': TypeInfo(TypeOf.Class, create:() => <SealTemplateItemData>[]),
    'AppointmentPrincipleData': TypeInfo(TypeOf.Class, create:() => AppointmentPrincipleData()),
    'List<StockStatusData>': TypeInfo(TypeOf.Class, create:() => <StockStatusData>[]),
    'AppointmentData': TypeInfo(TypeOf.Class, create:() => AppointmentData()),
    'List<AppointmentPrincipleData>': TypeInfo(TypeOf.Class, create:() => <AppointmentPrincipleData>[]),
    'GetUpliftScheduleResponse': TypeInfo(TypeOf.Class, create:() => GetUpliftScheduleResponse()),
    'List<AppointmentData>': TypeInfo(TypeOf.Class, create:() => <AppointmentData>[]),
    'GetUpliftSchedule': TypeInfo(TypeOf.Class, create:() => GetUpliftSchedule()),
});

Dart GetUpliftSchedule 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 /upliftscedule HTTP/1.1 
Host: antel.api.dev.86degrees.com 
Accept: application/xml
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<GetUpliftScheduleResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel">
  <Description xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">String</Description>
  <Heading xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">String</Heading>
  <ResponseStatus xmlns:d2p1="http://schemas.servicestack.net/types" xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">
    <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>
  <WasSuccessful xmlns="http://schemas.datacontract.org/2004/07/WebService.ServiceModel.Base">false</WasSuccessful>
  <Appointments>
    <AppointmentData>
      <AppointmentDate>String</AppointmentDate>
      <GoodToCollectStatus>false</GoodToCollectStatus>
      <InProgress>false</InProgress>
      <IsComplete>false</IsComplete>
      <IsLate>false</IsLate>
      <OutletChannel>String</OutletChannel>
      <OutletName>String</OutletName>
      <PrincipleAppointments>
        <AppointmentPrincipleData>
          <ActionOutsideMaxDistance>Warn</ActionOutsideMaxDistance>
          <AllowedProductStockStatuses>
            <StockStatusData>
              <Color>String</Color>
              <Id>0</Id>
              <Name>String</Name>
              <PhotoRequired>false</PhotoRequired>
            </StockStatusData>
          </AllowedProductStockStatuses>
          <Cancelled>false</Cancelled>
          <Completed>false</Completed>
          <CompletedDate>String</CompletedDate>
          <GoodsToCollect>false</GoodsToCollect>
          <MaxSubmissionDistance>0</MaxSubmissionDistance>
          <NoteToOperator>String</NoteToOperator>
          <OperatorName>String</OperatorName>
          <OutletChannel>String</OutletChannel>
          <OutletLatitude>0</OutletLatitude>
          <OutletLongitude>0</OutletLongitude>
          <OutletName>String</OutletName>
          <OutletRegion>String</OutletRegion>
          <PreAuthed>false</PreAuthed>
          <PrePopulated>false</PrePopulated>
          <PrePopulatedWithSeals>false</PrePopulatedWithSeals>
          <Principle>
            <AllowBillableSeals>false</AllowBillableSeals>
            <AllowProductLookup>false</AllowProductLookup>
            <AuthLetterFileUrl xmlns:d7p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
              <d7p1:string>String</d7p1:string>
            </AuthLetterFileUrl>
            <BatchCodesMandatory>false</BatchCodesMandatory>
            <CaptureManufactureAndExpiryDate>false</CaptureManufactureAndExpiryDate>
            <CaptureSerialNumber>false</CaptureSerialNumber>
            <ContactEmail>String</ContactEmail>
            <ContactName>String</ContactName>
            <ContactNumber>String</ContactNumber>
            <HasAuthLetter>false</HasAuthLetter>
            <HasLogo>false</HasLogo>
            <LogoImageUrl>String</LogoImageUrl>
            <Name>String</Name>
            <PrincipalId>0</PrincipalId>
            <ProductExceptions>
              <ProductExceptionData>
                <Channel>String</Channel>
                <ProductId>0</ProductId>
                <Region>String</Region>
                <StockStatusIds xmlns:d9p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
                  <d9p1:int>0</d9p1:int>
                </StockStatusIds>
              </ProductExceptionData>
            </ProductExceptions>
            <Products>
              <ProductDataCategory>
                <Products>
                  <ProductData>
                    <CartonMeasurement>String</CartonMeasurement>
                    <CartonPrice>0</CartonPrice>
                    <CartonQuantity>0</CartonQuantity>
                    <CartonWeight>0</CartonWeight>
                    <Category>String</Category>
                    <MaxPrice>0</MaxPrice>
                    <MaxQuantity>0</MaxQuantity>
                    <Name>String</Name>
                    <PrincipalId>0</PrincipalId>
                    <ProductCode>String</ProductCode>
                    <ProductId>0</ProductId>
                    <ShrinkMeasurement>String</ShrinkMeasurement>
                    <ShrinkPrice>0</ShrinkPrice>
                    <ShrinkQuantity>0</ShrinkQuantity>
                    <ShrinkWeight>0</ShrinkWeight>
                    <UnitBarcode>String</UnitBarcode>
                    <UnitMeasurement>String</UnitMeasurement>
                    <UnitPrice>0</UnitPrice>
                    <UnitQuantity>0</UnitQuantity>
                    <UnitWeight>0</UnitWeight>
                  </ProductData>
                </Products>
                <UnitBarcode>String</UnitBarcode>
              </ProductDataCategory>
            </Products>
            <SealNetWeightMandatory>false</SealNetWeightMandatory>
            <UpliftPrefix>String</UpliftPrefix>
            <UsesOwnSealNumbers>false</UsesOwnSealNumbers>
          </Principle>
          <PrincipleOutletId>0</PrincipleOutletId>
          <ProductExceptions>
            <ProductExceptionData>
              <Channel>String</Channel>
              <ProductId>0</ProductId>
              <Region>String</Region>
              <StockStatusIds xmlns:d8p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
                <d8p1:int>0</d8p1:int>
              </StockStatusIds>
            </ProductExceptionData>
          </ProductExceptions>
          <ScheduledDate>String</ScheduledDate>
          <SealTemplate>
            <Items>
              <SealTemplateData.SealTemplateItemData>
                <ProductStockStatus>0</ProductStockStatus>
                <Products xmlns:d9p1="http://schemas.datacontract.org/2004/07/BusinessLogic.Entities">
                  <d9p1:SealTemplateProduct>
                    <d9p1:Name>String</d9p1:Name>
                    <d9p1:ProductId>0</d9p1:ProductId>
                    <d9p1:ProductStockStatusId>0</d9p1:ProductStockStatusId>
                    <d9p1:Quantity>0</d9p1:Quantity>
                    <d9p1:SerialNumber>String</d9p1:SerialNumber>
                  </d9p1:SealTemplateProduct>
                </Products>
                <SealNumber>String</SealNumber>
              </SealTemplateData.SealTemplateItemData>
            </Items>
          </SealTemplate>
          <StoreConfirmationDocumentUrl>String</StoreConfirmationDocumentUrl>
          <SystemUserId>0</SystemUserId>
          <UpliftScheduleId>0</UpliftScheduleId>
          <UpliftSchedulePrincipleId>0</UpliftSchedulePrincipleId>
          <UpliftTemplate>
            <Products>
              <UpliftTemplateData.TemplateProductData>
                <Barcode>String</Barcode>
                <Name>String</Name>
                <ProductCode>String</ProductCode>
                <ReturnValue>0</ReturnValue>
                <StatusQty xmlns:d9p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
                  <d9p1:KeyValueOfintint>
                    <d9p1:Key>0</d9p1:Key>
                    <d9p1:Value>0</d9p1:Value>
                  </d9p1:KeyValueOfintint>
                </StatusQty>
              </UpliftTemplateData.TemplateProductData>
            </Products>
            <Seals xmlns:d7p1="http://schemas.datacontract.org/2004/07/BusinessLogic.Entities">
              <d7p1:UpliftRequestSealData>
                <d7p1:Number>String</d7p1:Number>
                <d7p1:Weight>0</d7p1:Weight>
              </d7p1:UpliftRequestSealData>
            </Seals>
            <TotalValue>0</TotalValue>
          </UpliftTemplate>
          <VerificationCode>String</VerificationCode>
        </AppointmentPrincipleData>
      </PrincipleAppointments>
      <ScheduleId>0</ScheduleId>
      <UpliftStatus>Unconfirmed</UpliftStatus>
    </AppointmentData>
  </Appointments>
</GetUpliftScheduleResponse>