Trendsic Platform Service

<back to all web services

ActivityPlanRequest

Requires Authentication
Requires any of the roles:Worker, Agent, Administrator, Worker, Agent, Administrator
The following routes are available for this service:
POST,OPTIONS/v1/ActivityPlan
GET,OPTIONS/v1/ActivityPlan/{AgentId}/{DateFrom}/{DateTo}
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 ActivityPlan:
    id: int = 0
    agent_id: int = 0
    event_type_id: int = 0
    goal: int = 0
    date_from: datetime.datetime = datetime.datetime(1, 1, 1)
    date_to: datetime.datetime = datetime.datetime(1, 1, 1)
    date_created: datetime.datetime = datetime.datetime(1, 1, 1)
    mthly_cash_flow: int = 0
    ytd_cash_flow: int = 0
    recruit: int = 0
    event_type_name: Optional[str] = None
    actual: int = 0


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ActivityPlanExtended:
    app_count: int = 0
    avg_flow: int = 0
    avg_transfer: int = 0
    avg_life: int = 0
    life_per_annuity: Decimal = decimal.Decimal(0)
    flow_transfer: Decimal = decimal.Decimal(0)
    transfer_ratio: Decimal = decimal.Decimal(0)


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ActivityPlanResponse:
    response_status: Optional[ResponseStatus] = None
    activity_plans: List[ActivityPlan] = field(default_factory=list)
    activity_data: Optional[ActivityPlanExtended] = None


@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class ActivityPlanRequest:
    activity_plan: Optional[ActivityPlan] = None
    agent_id: int = 0
    date_from: datetime.datetime = datetime.datetime(1, 1, 1)
    date_to: datetime.datetime = datetime.datetime(1, 1, 1)
    application_goal: int = 0
    appointment_set_goal: int = 0
    learning_goal: int = 0
    marketing_goal: int = 0
    referral_goal: int = 0
    lead_goal: int = 0
    client_update_goal: int = 0
    first_contact_goal: int = 0
    first_appointment_goal: int = 0
    second_appointment_goal: int = 0
    second_appointment_set_goal: int = 0
    monthly_cash_flow_goal: int = 0
    ytd_cash_flow_goal: int = 0
    recruit_goal: int = 0

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

POST /v1/ActivityPlan HTTP/1.1 
Host: api.dev.dynamics.trendsic.com 
Accept: application/xml
Content-Type: application/xml
Content-Length: length

<ActivityPlanRequest xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <ActivityPlan>
    <Actual>0</Actual>
    <AgentId>0</AgentId>
    <DateCreated>0001-01-01T00:00:00</DateCreated>
    <DateFrom>0001-01-01T00:00:00</DateFrom>
    <DateTo>0001-01-01T00:00:00</DateTo>
    <EventTypeId>0</EventTypeId>
    <EventTypeName>String</EventTypeName>
    <Goal>0</Goal>
    <Id>0</Id>
    <MthlyCashFlow>0</MthlyCashFlow>
    <Recruit>0</Recruit>
    <YTDCashFlow>0</YTDCashFlow>
  </ActivityPlan>
  <AgentId>0</AgentId>
  <ApplicationGoal>0</ApplicationGoal>
  <AppointmentSetGoal>0</AppointmentSetGoal>
  <ClientUpdateGoal>0</ClientUpdateGoal>
  <DateFrom>0001-01-01T00:00:00</DateFrom>
  <DateTo>0001-01-01T00:00:00</DateTo>
  <FirstAppointmentGoal>0</FirstAppointmentGoal>
  <FirstContactGoal>0</FirstContactGoal>
  <LeadGoal>0</LeadGoal>
  <LearningGoal>0</LearningGoal>
  <MarketingGoal>0</MarketingGoal>
  <MonthlyCashFlowGoal>0</MonthlyCashFlowGoal>
  <RecruitGoal>0</RecruitGoal>
  <ReferralGoal>0</ReferralGoal>
  <SecondAppointmentGoal>0</SecondAppointmentGoal>
  <SecondAppointmentSetGoal>0</SecondAppointmentSetGoal>
  <YTDCashFlowGoal>0</YTDCashFlowGoal>
</ActivityPlanRequest>
HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: length

<ActivityPlanResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/CRM.AgencyPlatform.API.Internal">
  <ActivityData>
    <AppCount>0</AppCount>
    <AvgFlow>0</AvgFlow>
    <AvgLife>0</AvgLife>
    <AvgTransfer>0</AvgTransfer>
    <FlowTransfer>0</FlowTransfer>
    <LifePerAnnuity>0</LifePerAnnuity>
    <TransferRatio>0</TransferRatio>
  </ActivityData>
  <ActivityPlans>
    <ActivityPlan>
      <Actual>0</Actual>
      <AgentId>0</AgentId>
      <DateCreated>0001-01-01T00:00:00</DateCreated>
      <DateFrom>0001-01-01T00:00:00</DateFrom>
      <DateTo>0001-01-01T00:00:00</DateTo>
      <EventTypeId>0</EventTypeId>
      <EventTypeName>String</EventTypeName>
      <Goal>0</Goal>
      <Id>0</Id>
      <MthlyCashFlow>0</MthlyCashFlow>
      <Recruit>0</Recruit>
      <YTDCashFlow>0</YTDCashFlow>
    </ActivityPlan>
  </ActivityPlans>
  <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>
</ActivityPlanResponse>