Antel API

<back to all web services

GetUpliftSchedule

Requires Authentication
The following routes are available for this service:
GET/upliftscedule
import datetime
import decimal
from marshmallow.fields import *
from servicestack import *
from typing import *
from dataclasses import dataclass, field
from dataclasses_json import dataclass_json, LetterCase, Undefined, config
from enum import Enum, IntEnum


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ApiServiceRequest(IServiceRequest, IHasApiKey, IHasDeviceInfo):
    # @ApiMember(DataType="string", Description="The API Key required for authentication", IsRequired=true)
    api_key: Optional[str] = None
    """
    The API Key required for authentication
    """


    # @ApiMember(DataType="double", Description="Latitude of the user making this request")
    latitude: float = 0.0
    """
    Latitude of the user making this request
    """


    # @ApiMember(DataType="double", Description="Longitude of the user making this request")
    longitude: float = 0.0
    """
    Longitude of the user making this request
    """


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ApiServiceResponse(IServiceResponse):
    # @ApiMember(Description="Information about the response.", IsRequired=true)
    description: Optional[str] = None
    """
    Information about the response.
    """


    # @ApiMember(Description="Heading or summary of the response.", IsRequired=true)
    heading: Optional[str] = None
    """
    Heading or summary of the response.
    """


    # @ApiMember(DataType="boolean", Description="Did the intended operation for this response complete successfully?", IsRequired=true)
    was_successful: bool = False
    """
    Did the intended operation for this response complete successfully?
    """


    response_status: Optional[ResponseStatus] = None


class UpliftScheduleStatus(IntEnum):
    UNCONFIRMED = 0
    CONFIRMED = 1
    PORTAL_CANCELLED = 4
    USER_CANCELLED = 5
    NO_OPERATOR_ASSIGNED = 6


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ProductData:
    product_id: int = 0
    principal_id: int = 0
    name: Optional[str] = None
    category: Optional[str] = None
    product_code: Optional[str] = None
    unit_barcode: Optional[str] = None
    carton_quantity: int = 0
    shrink_quantity: int = 0
    unit_quantity: int = 0
    carton_measurement: Optional[str] = None
    shrink_measurement: Optional[str] = None
    unit_measurement: Optional[str] = None
    carton_weight: float = 0.0
    shrink_weight: float = 0.0
    unit_weight: Decimal = decimal.Decimal(0)
    carton_price: Decimal = decimal.Decimal(0)
    shrink_price: Decimal = decimal.Decimal(0)
    unit_price: Decimal = decimal.Decimal(0)
    max_quantity: int = 0
    max_price: int = 0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ProductDataCategory:
    unit_barcode: Optional[str] = None
    products: Optional[List[ProductData]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ProductExceptionData:
    region: Optional[str] = None
    channel: Optional[str] = None
    product_id: int = 0
    stock_status_ids: Optional[List[int]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class PrincipalData:
    principal_id: int = 0
    name: Optional[str] = None
    auth_letter_file_url: Optional[List[str]] = None
    logo_image_url: Optional[str] = None
    products: Optional[List[ProductDataCategory]] = None
    uplift_prefix: Optional[str] = None
    contact_name: Optional[str] = None
    contact_number: Optional[str] = None
    contact_email: Optional[str] = None
    allow_product_lookup: bool = False
    has_logo: bool = False
    has_auth_letter: bool = False
    seal_net_weight_mandatory: bool = False
    allow_billable_seals: bool = False
    capture_serial_number: bool = False
    batch_codes_mandatory: bool = False
    capture_manufacture_and_expiry_date: bool = False
    product_exceptions: Optional[List[ProductExceptionData]] = None
    uses_own_seal_numbers: bool = False


class ActionOutsideMaxDistanceType(IntEnum):
    WARN = 0
    BLOCK = 1


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class TemplateProductData:
    name: Optional[str] = None
    product_code: Optional[str] = None
    barcode: Optional[str] = None
    status_qty: Optional[Dict[int, int]] = None
    return_value: Decimal = decimal.Decimal(0)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UpliftRequestSealData:
    number: Optional[str] = None
    weight: float = 0.0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class UpliftTemplateData:
    total_value: Decimal = decimal.Decimal(0)
    products: Optional[List[TemplateProductData]] = None
    seals: Optional[List[UpliftRequestSealData]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class StockStatusData:
    id: int = 0
    name: Optional[str] = None
    photo_required: bool = False
    color: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SealTemplateProduct:
    product_id: int = 0
    name: Optional[str] = None
    product_stock_status_id: int = 0
    quantity: int = 0
    serial_number: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SealTemplateItemData:
    seal_number: Optional[str] = None
    product_stock_status: int = 0
    products: Optional[List[SealTemplateProduct]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SealTemplateData:
    items: Optional[List[SealTemplateItemData]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AppointmentPrincipleData:
    principle: Optional[PrincipalData] = None
    scheduled_date: Optional[str] = None
    uplift_schedule_id: int = 0
    uplift_schedule_principle_id: int = 0
    principle_outlet_id: int = 0
    verification_code: Optional[str] = None
    goods_to_collect: bool = False
    outlet_region: Optional[str] = None
    outlet_name: Optional[str] = None
    outlet_channel: Optional[str] = None
    outlet_latitude: float = 0.0
    outlet_longitude: float = 0.0
    max_submission_distance: float = 0.0
    action_outside_max_distance: Optional[ActionOutsideMaxDistanceType] = None
    completed_date: Optional[str] = None
    cancelled: bool = False
    completed: bool = False
    uplift_template: Optional[UpliftTemplateData] = None
    pre_populated: bool = False
    allowed_product_stock_statuses: Optional[List[StockStatusData]] = None
    note_to_operator: Optional[str] = None
    seal_template: Optional[SealTemplateData] = None
    pre_populated_with_seals: bool = False
    pre_authed: bool = False
    operator_name: Optional[str] = None
    system_user_id: int = 0
    product_exceptions: Optional[List[ProductExceptionData]] = None
    store_confirmation_document_url: Optional[str] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class AppointmentData:
    schedule_id: int = 0
    appointment_date: Optional[str] = None
    outlet_name: Optional[str] = None
    outlet_channel: Optional[str] = None
    uplift_status: Optional[UpliftScheduleStatus] = None
    is_complete: bool = False
    in_progress: bool = False
    is_late: bool = False
    good_to_collect_status: bool = False
    principles_with_goods_to_collect: Optional[str] = None
    principle_appointments: Optional[List[AppointmentPrincipleData]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetUpliftScheduleResponse(ApiServiceResponse):
    appointments: Optional[List[AppointmentData]] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetUpliftSchedule(ApiServiceRequest):
    pass

Python 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>