| GET | /summary-report/{BeeNumber}/region-b |
|---|
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 BeeNumberDisplaySet:
bee_number: Optional[Decimal] = None
external_ids: Optional[List[str]] = None
sales_organization_id: Optional[str] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SummaryValues:
c1: Optional[Decimal] = None
c2: Optional[Decimal] = None
c3: Optional[Decimal] = None
c4: Optional[Decimal] = None
c5: Optional[Decimal] = None
c6: Optional[Decimal] = None
c7: Optional[Decimal] = None
c8: Optional[Decimal] = None
c9: Optional[Decimal] = None
c10: Optional[Decimal] = None
c11: Optional[Decimal] = None
c12: Optional[Decimal] = None
c13: Optional[Decimal] = None
c14: Optional[Decimal] = None
c15: Optional[Decimal] = None
c16: Optional[Decimal] = None
c17: Optional[Decimal] = None
c18: Optional[Decimal] = None
c19: Optional[Decimal] = None
c20: Optional[Decimal] = None
c21: Optional[Decimal] = None
c22: Optional[Decimal] = None
c23: Optional[Decimal] = None
c24: Optional[Decimal] = None
c25: Optional[Decimal] = None
c26: Optional[Decimal] = None
c27: Optional[Decimal] = None
c28: Optional[Decimal] = None
ytd: Optional[Decimal] = None
q1: Optional[Decimal] = None
q2: Optional[Decimal] = None
q3: Optional[Decimal] = None
q4: Optional[Decimal] = None
q5: Optional[Decimal] = None
qtd: Optional[Decimal] = None
current_quarter: Optional[Decimal] = None
current_v_s_p_c_percent: Optional[Decimal] = None
current_v_s_p_y_percent: Optional[Decimal] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class YearlyValues:
current_year: Optional[SummaryValues] = None
prior_year: Optional[SummaryValues] = None
percent_vs_prior_year: Optional[SummaryValues] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class RepresentativeSummaryReportRegionBViewModel:
bee_number: Optional[BeeNumberDisplaySet] = None
current_year: Optional[int] = None
prior_year: Optional[int] = None
award_sales: Optional[YearlyValues] = None
net_sales: Optional[YearlyValues] = None
number_of_customers: Optional[YearlyValues] = None
orders: Optional[YearlyValues] = None
activity: Optional[YearlyValues] = None
aos_award_sales: Optional[YearlyValues] = None
rep_count: Optional[YearlyValues] = None
aos_net_sales: Optional[YearlyValues] = None
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SummaryReportRepresentativeRegionBGetResponse(GetResponse[RepresentativeSummaryReportRegionBViewModel]):
pass
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class SummaryReportRepresentativeRegionBGet(IGet):
"""
Region B is middle section of summary report that shows cycles for this year compared to last year
"""
bee_number: Optional[Decimal] = None
TEntity = TypeVar('TEntity')
@dataclass_json(letter_case=LetterCase.CAMEL, undefined=Undefined.EXCLUDE)
@dataclass
class GetResponse(Generic[TEntity]):
item: Optional[TEntity] = None
response_status: Optional[ResponseStatus] = None
Python SummaryReportRepresentativeRegionBGet DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /summary-report/{BeeNumber}/region-b HTTP/1.1
Host: extensions.avon.ca
Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
item:
{
beeNumber:
{
beeNumber: 0,
externalIds:
[
String
],
salesOrganizationId: String
},
currentYear: 0,
priorYear: 0,
awardSales:
{
currentYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
priorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
percentVsPriorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
}
},
netSales:
{
currentYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
priorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
percentVsPriorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
}
},
numberOfCustomers:
{
currentYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
priorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
percentVsPriorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
}
},
orders:
{
currentYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
priorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
percentVsPriorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
}
},
activity:
{
currentYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
priorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
percentVsPriorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
}
},
aosAwardSales:
{
currentYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
priorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
percentVsPriorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
}
},
repCount:
{
currentYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
priorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
percentVsPriorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
}
},
aosNetSales:
{
currentYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
priorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
},
percentVsPriorYear:
{
c1: 0,
c2: 0,
c3: 0,
c4: 0,
c5: 0,
c6: 0,
c7: 0,
c8: 0,
c9: 0,
c10: 0,
c11: 0,
c12: 0,
c13: 0,
c14: 0,
c15: 0,
c16: 0,
c17: 0,
c18: 0,
c19: 0,
c20: 0,
c21: 0,
c22: 0,
c23: 0,
c24: 0,
c25: 0,
c26: 0,
c27: 0,
c28: 0,
ytd: 0,
q1: 0,
q2: 0,
q3: 0,
q4: 0,
q5: 0,
qtd: 0,
currentQuarter: 0,
currentVSPCPercent: 0,
currentVSPYPercent: 0
}
}
},
responseStatus:
{
errorCode: String,
message: String,
stackTrace: String,
errors:
[
{
errorCode: String,
fieldName: String,
message: String,
meta:
{
String: String
}
}
],
meta:
{
String: String
}
}
}