@meetelise/chat 1.43.4 → 1.43.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/WebComponent/FeeCalculator/components/addons/addon-table/addon-table.d.ts +4 -4
- package/dist/src/WebComponent/FeeCalculator/components/addons/addon-table/index.d.ts +0 -1
- package/dist/src/WebComponent/FeeCalculator/components/addons/addon-table/table-qty-selectors.d.ts +3 -2
- package/dist/src/WebComponent/FeeCalculator/components/charge-inputs/charge-inputs.d.ts +27 -0
- package/dist/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout.d.ts +12 -12
- package/dist/src/WebComponent/FeeCalculator/components/fee-item/fee-item.d.ts +1 -1
- package/dist/src/WebComponent/FeeCalculator/components/fee-item/grouped-rentable-item.d.ts +0 -1
- package/dist/src/WebComponent/FeeCalculator/components/index.d.ts +1 -0
- package/dist/src/WebComponent/FeeCalculator/fee-calculator.d.ts +6 -5
- package/dist/src/WebComponent/FeeCalculator/model/desired-addon.d.ts +1 -1
- package/dist/src/WebComponent/FeeCalculator/model/fee-quote.d.ts +3 -4
- package/dist/src/WebComponent/FeeCalculator/model/index.d.ts +1 -4
- package/dist/src/WebComponent/FeeCalculator/model/item-combination.d.ts +1 -3
- package/dist/src/WebComponent/FeeCalculator/model/marketable-fee-new.d.ts +75 -0
- package/dist/src/WebComponent/FeeCalculator/model/marketable-fee.d.ts +79 -0
- package/dist/src/WebComponent/FeeCalculator/model/pricing-matrix.d.ts +1 -15
- package/dist/src/WebComponent/FeeCalculator/model/pricing-metadata.d.ts +1 -9
- package/dist/src/WebComponent/FeeCalculator/model/quote.d.ts +16 -2
- package/dist/src/services/fees/calculateQuote.d.ts +13 -3
- package/dist/src/services/fees/fetchBuildingFeesV2.d.ts +2 -2
- package/package.json +1 -1
- package/public/dist/index.js +560 -453
- package/src/WebComponent/FeeCalculator/components/addons/addon-table/addon-table.ts +28 -59
- package/src/WebComponent/FeeCalculator/components/addons/addon-table/index.ts +0 -1
- package/src/WebComponent/FeeCalculator/components/addons/addon-table/table-qty-selectors.ts +7 -10
- package/src/WebComponent/FeeCalculator/components/charge-inputs/charge-inputs.ts +351 -0
- package/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout-styles.ts +26 -0
- package/src/WebComponent/FeeCalculator/components/fee-calculator-layout/fee-calculator-layout.ts +120 -86
- package/src/WebComponent/FeeCalculator/components/fee-card/fee-card.ts +19 -14
- package/src/WebComponent/FeeCalculator/components/fee-item/fee-item.ts +23 -12
- package/src/WebComponent/FeeCalculator/components/fee-item/grouped-rentable-item.ts +3 -13
- package/src/WebComponent/FeeCalculator/components/floor-plan-selector/floor-plan-selector.ts +1 -1
- package/src/WebComponent/FeeCalculator/components/index.ts +1 -0
- package/src/WebComponent/FeeCalculator/fee-calculator.ts +57 -64
- package/src/WebComponent/FeeCalculator/model/desired-addon.ts +1 -1
- package/src/WebComponent/FeeCalculator/model/fee-quote.ts +3 -4
- package/src/WebComponent/FeeCalculator/model/index.ts +1 -4
- package/src/WebComponent/FeeCalculator/model/item-combination.ts +2 -12
- package/src/WebComponent/FeeCalculator/model/marketable-fee-new.ts +81 -0
- package/src/WebComponent/FeeCalculator/model/marketable-fee.ts +124 -0
- package/src/WebComponent/FeeCalculator/model/pricing-matrix.ts +3 -39
- package/src/WebComponent/FeeCalculator/model/pricing-metadata.ts +2 -10
- package/src/WebComponent/FeeCalculator/model/quote.ts +16 -2
- package/src/WebComponent/Scheduler/tour-scheduler.ts +1 -1
- package/src/WebComponent/actions/call-us-window.ts +1 -1
- package/src/WebComponent/actions/email-us-window.ts +1 -1
- package/src/services/fees/calculateQuote.ts +17 -8
- package/src/services/fees/downloadQuotePdf.ts +6 -8
- package/src/services/fees/fetchBuildingFeesV2.ts +10 -6
- package/src/utils.ts +1 -1
- package/dist/src/WebComponent/FeeCalculator/components/addons/addon-table/table-matrix-qty-selector-styles.d.ts +0 -1
- package/dist/src/WebComponent/FeeCalculator/components/addons/addon-table/table-matrix-qty-selector.d.ts +0 -23
- package/dist/src/WebComponent/FeeCalculator/model/building-fee-view.d.ts +0 -42
- package/dist/src/WebComponent/FeeCalculator/model/pricing-rule.d.ts +0 -10
- package/dist/src/WebComponent/FeeCalculator/model/pricing-type.d.ts +0 -10
- package/dist/src/services/fees/downloadQuotePdf.d.ts +0 -12
- package/src/WebComponent/FeeCalculator/components/addons/addon-table/table-matrix-qty-selector-styles.ts +0 -82
- package/src/WebComponent/FeeCalculator/components/addons/addon-table/table-matrix-qty-selector.ts +0 -203
- package/src/WebComponent/FeeCalculator/model/building-fee-view.ts +0 -105
- package/src/WebComponent/FeeCalculator/model/pricing-rule.ts +0 -11
- package/src/WebComponent/FeeCalculator/model/pricing-type.ts +0 -11
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { LitElement, TemplateResult } from "lit";
|
|
2
|
-
import {
|
|
2
|
+
import { MarketableFee } from "../../../model/marketable-fee";
|
|
3
|
+
import { DesiredAddon, DesiredRentableItem, RentableItemSummary } from "../../../model";
|
|
3
4
|
import "../../../../shared/simple-tooltip";
|
|
4
5
|
import "./table-qty-selectors";
|
|
5
|
-
import "./table-matrix-qty-selector";
|
|
6
6
|
export declare class AddonTable extends LitElement {
|
|
7
7
|
static styles: import("lit").CSSResult;
|
|
8
|
-
set addons(value: (
|
|
9
|
-
get addons(): (
|
|
8
|
+
set addons(value: (MarketableFee | RentableItemSummary)[]);
|
|
9
|
+
get addons(): (MarketableFee | RentableItemSummary)[];
|
|
10
10
|
private _addons;
|
|
11
11
|
disabled: boolean;
|
|
12
12
|
onAddonSelect: ((addon: DesiredAddon) => void) | null;
|
package/dist/src/WebComponent/FeeCalculator/components/addons/addon-table/table-qty-selectors.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { LitElement, TemplateResult } from "lit";
|
|
2
|
-
import {
|
|
2
|
+
import { MarketableFee } from "../../../model/marketable-fee";
|
|
3
|
+
import { DesiredAddon, RentableItemSummary } from "../../../model";
|
|
3
4
|
export declare class TableAddonQtySelector extends LitElement {
|
|
4
5
|
static styles: import("lit").CSSResult;
|
|
5
|
-
feeItem:
|
|
6
|
+
feeItem: MarketableFee | null;
|
|
6
7
|
private _previousFeeItemId;
|
|
7
8
|
onQuantityChange: ((addon: DesiredAddon) => void) | null;
|
|
8
9
|
disabled: boolean;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { LitElement, TemplateResult } from "lit";
|
|
2
|
+
import { ChargeInputs } from "../../../../services/fees/calculateQuote";
|
|
3
|
+
import { RentableItemSummary } from "../../model/rentable-item-summary";
|
|
4
|
+
import { DesiredRentableItem } from "../../model/desired-rentable-item";
|
|
5
|
+
export declare class ChargeInputsComponent extends LitElement {
|
|
6
|
+
static styles: import("lit").CSSResult;
|
|
7
|
+
chargeInputs: ChargeInputs;
|
|
8
|
+
onChargeInputsChange: ((newInputs: Partial<ChargeInputs>) => void) | null;
|
|
9
|
+
disabled: boolean;
|
|
10
|
+
rentableItems: RentableItemSummary[];
|
|
11
|
+
selectedRentableItems: DesiredRentableItem[];
|
|
12
|
+
onRentableItemAdd: ((item: DesiredRentableItem) => void) | null;
|
|
13
|
+
onRentableItemRemove: ((item: DesiredRentableItem) => void) | null;
|
|
14
|
+
private handleIncrement;
|
|
15
|
+
private handleDecrement;
|
|
16
|
+
private updatePetCount;
|
|
17
|
+
private handleRentableItemToggle;
|
|
18
|
+
private getFieldLabel;
|
|
19
|
+
private renderRentableItemRow;
|
|
20
|
+
private renderChargeInputRow;
|
|
21
|
+
render(): TemplateResult;
|
|
22
|
+
}
|
|
23
|
+
declare global {
|
|
24
|
+
interface HTMLElementTagNameMap {
|
|
25
|
+
"charge-inputs": ChargeInputsComponent;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { LitElement, TemplateResult } from "lit";
|
|
2
2
|
import { LayoutOption } from "../../../../fetchBuildingWebchatView";
|
|
3
|
-
import { DesiredAddon, DesiredRentableItem } from "../../model";
|
|
4
3
|
import { Unit } from "../../../../services/fees/fetchBuildingUnits";
|
|
5
|
-
import {
|
|
4
|
+
import { MarketableFee, MarketableFeeFrequency } from "../../model/marketable-fee";
|
|
5
|
+
import { RentableItemSummary } from "../../model";
|
|
6
6
|
import { Quote } from "../../model/quote";
|
|
7
7
|
import { FeeQuote } from "../../model/fee-quote";
|
|
8
|
+
import { ChargeInputs } from "../../../../services/fees/calculateQuote";
|
|
9
|
+
import { DesiredRentableItem } from "../../model/desired-rentable-item";
|
|
8
10
|
import "../floor-plan-selector/floor-plan-selector";
|
|
9
11
|
import "../fee-card/fee-card";
|
|
10
|
-
import "../
|
|
12
|
+
import "../charge-inputs/charge-inputs";
|
|
11
13
|
import "../../../loaders/skeleton-loader";
|
|
12
14
|
import "../../../loaders/mega-loader";
|
|
13
15
|
export declare class FeeCalculatorLayout extends LitElement {
|
|
@@ -18,7 +20,7 @@ export declare class FeeCalculatorLayout extends LitElement {
|
|
|
18
20
|
quote: Quote | null;
|
|
19
21
|
layoutOptions: LayoutOption[];
|
|
20
22
|
selectedLayoutIds: number[];
|
|
21
|
-
groupedFees: Record<
|
|
23
|
+
groupedFees: Record<MarketableFeeFrequency, MarketableFee[]>;
|
|
22
24
|
rentableItems: RentableItemSummary[];
|
|
23
25
|
units: Unit[];
|
|
24
26
|
isLoadingUnits: boolean;
|
|
@@ -26,18 +28,16 @@ export declare class FeeCalculatorLayout extends LitElement {
|
|
|
26
28
|
onUnitSelect: ((unit: Unit) => void) | null;
|
|
27
29
|
onMoveInDateChange: ((dateString: string) => void) | null;
|
|
28
30
|
onLeaseTermChange: ((leaseTerm: number) => void) | null;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
*/
|
|
35
|
-
get addOns(): (BuildingFeeView | RentableItemSummary)[];
|
|
31
|
+
chargeInputs: ChargeInputs;
|
|
32
|
+
onChargeInputsChange: ((newInputs: Partial<ChargeInputs>) => void) | null;
|
|
33
|
+
selectedRentableItems: DesiredRentableItem[];
|
|
34
|
+
onRentableItemAdd: ((item: DesiredRentableItem) => void) | null;
|
|
35
|
+
onRentableItemRemove: ((item: DesiredRentableItem) => void) | null;
|
|
36
36
|
get rentAsFeeQuote(): FeeQuote | null;
|
|
37
37
|
renderRecurringFeeSection(title: string, fees: FeeQuote[]): TemplateResult | null;
|
|
38
38
|
renderFeeSections(): TemplateResult[];
|
|
39
|
+
renderTotalCost(): TemplateResult | null;
|
|
39
40
|
renderFeesContent(): TemplateResult;
|
|
40
|
-
renderAddOns(): TemplateResult | null;
|
|
41
41
|
render(): TemplateResult;
|
|
42
42
|
}
|
|
43
43
|
declare global {
|
|
@@ -10,7 +10,6 @@ export declare class GroupedRentableItemComponent extends LitElement {
|
|
|
10
10
|
get itemType(): string;
|
|
11
11
|
get priceGroups(): PriceGroup[];
|
|
12
12
|
get totalAmount(): string;
|
|
13
|
-
get isRequired(): boolean;
|
|
14
13
|
get priceBreakdown(): string;
|
|
15
14
|
private getUnitName;
|
|
16
15
|
render(): TemplateResult;
|
|
@@ -2,8 +2,8 @@ import { LitElement, TemplateResult } from "lit";
|
|
|
2
2
|
import { LayoutOption } from "../../fetchBuildingWebchatView";
|
|
3
3
|
import { Quote } from "./model/quote";
|
|
4
4
|
import { Unit } from "../../services/fees/fetchBuildingUnits";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { MarketableFee, MarketableFeeFrequency } from "./model/marketable-fee";
|
|
6
|
+
import { ChargeInputs } from "../../services/fees/calculateQuote";
|
|
7
7
|
import { DesiredRentableItem } from "./model/desired-rentable-item";
|
|
8
8
|
import "./components";
|
|
9
9
|
import "./components/fee-calculator-layout/fee-calculator-layout";
|
|
@@ -26,13 +26,14 @@ export declare class FeeCalculator extends LitElement {
|
|
|
26
26
|
private isExporting;
|
|
27
27
|
private selectedLayoutIds;
|
|
28
28
|
private selectedUnit;
|
|
29
|
-
private
|
|
29
|
+
private chargeInputs;
|
|
30
30
|
private desiredRentableItems;
|
|
31
31
|
private moveInDateString;
|
|
32
32
|
private leaseTerm;
|
|
33
33
|
private buildingWebchatView;
|
|
34
34
|
private incentives;
|
|
35
35
|
quote: Quote | null;
|
|
36
|
+
pdfUrl: string | null;
|
|
36
37
|
private groupedFees;
|
|
37
38
|
private rentableItems;
|
|
38
39
|
private units;
|
|
@@ -59,10 +60,10 @@ export declare class FeeCalculator extends LitElement {
|
|
|
59
60
|
handleUnitSelect: (unit: Unit) => void;
|
|
60
61
|
handleMoveInDateChange: (dateString: string) => Promise<void>;
|
|
61
62
|
handleLeaseTermChange: (leaseTerm: number) => Promise<void>;
|
|
62
|
-
|
|
63
|
+
handleChargeInputsChange: (newChargeInputs: Partial<ChargeInputs>) => void;
|
|
63
64
|
handleRentableItemAdd: (rentableItem: DesiredRentableItem) => void;
|
|
64
65
|
handleRentableItemRemove: (rentableItem: DesiredRentableItem) => void;
|
|
65
|
-
groupFees: (fees:
|
|
66
|
+
groupFees: (fees: MarketableFee[]) => Record<MarketableFeeFrequency, MarketableFee[]>;
|
|
66
67
|
handleClickEmailOption: (e: MouseEvent) => void;
|
|
67
68
|
handleClickPhoneOption: (e: MouseEvent) => void;
|
|
68
69
|
handleClickSSTOption: (e: MouseEvent) => void;
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MarketableFeeNew, ChargeInputs } from "./marketable-fee-new";
|
|
2
2
|
import { AmountRange } from "./amount-range";
|
|
3
|
-
import { ItemCombination } from "./item-combination";
|
|
4
3
|
import { RentableItem } from "./rentable-item";
|
|
5
4
|
export interface FeeQuote {
|
|
6
|
-
|
|
5
|
+
marketableFee: MarketableFeeNew;
|
|
7
6
|
sourceRentableItem?: RentableItem | null;
|
|
8
7
|
isAddon: boolean | null;
|
|
9
8
|
amountRange: AmountRange;
|
|
10
|
-
|
|
9
|
+
chargeInputs: ChargeInputs;
|
|
11
10
|
}
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
export * from "./building-fee";
|
|
2
|
-
export * from "./building-fee-view";
|
|
3
2
|
export * from "./desired-addon";
|
|
4
3
|
export * from "./desired-rentable-item";
|
|
5
|
-
export * from "./item-combination";
|
|
6
4
|
export * from "./item-quantity";
|
|
7
|
-
export * from "./
|
|
8
|
-
export * from "./pricing-rule";
|
|
5
|
+
export * from "./marketable-fee";
|
|
9
6
|
export type { RentFrequency } from "./rent-frequency";
|
|
10
7
|
export type { RentableItem } from "./rentable-item";
|
|
11
8
|
export * from "./rentable-item-summary";
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
export interface MarketableFeeNew {
|
|
2
|
+
id: string;
|
|
3
|
+
buildingId: number;
|
|
4
|
+
feeName: string;
|
|
5
|
+
amount: number | null;
|
|
6
|
+
amountDisplay: string;
|
|
7
|
+
minEstimate: number | null;
|
|
8
|
+
maxEstimate: number | null;
|
|
9
|
+
percentRentMin: number | null;
|
|
10
|
+
percentRentMax: number | null;
|
|
11
|
+
percentRent: number | null;
|
|
12
|
+
frequency: FeeFrequency;
|
|
13
|
+
category: string;
|
|
14
|
+
hiddenReason: string | null;
|
|
15
|
+
description: string | null;
|
|
16
|
+
additionalInfo: string | null;
|
|
17
|
+
refundable: boolean;
|
|
18
|
+
unitIds: number[] | null;
|
|
19
|
+
layoutIds: number[] | null;
|
|
20
|
+
startDate: string | null;
|
|
21
|
+
endDate: string | null;
|
|
22
|
+
triggeredByEvent: string | null;
|
|
23
|
+
externalKey: string | null;
|
|
24
|
+
chargeCode: string | null;
|
|
25
|
+
bundleKey: string | null;
|
|
26
|
+
source: string | null;
|
|
27
|
+
publicFacing: boolean;
|
|
28
|
+
perApplicant: boolean;
|
|
29
|
+
prorated: boolean | null;
|
|
30
|
+
syncActive: boolean;
|
|
31
|
+
requiredForQuotes: boolean;
|
|
32
|
+
splitFee: string | null;
|
|
33
|
+
splitFeeName: string | null;
|
|
34
|
+
legacyFeeId: number | null;
|
|
35
|
+
pricingMatrix: PricingMatrix;
|
|
36
|
+
}
|
|
37
|
+
export interface PricingMatrix {
|
|
38
|
+
pricingRules: PricingRule[];
|
|
39
|
+
}
|
|
40
|
+
export interface PricingRule {
|
|
41
|
+
combination: ItemCombination;
|
|
42
|
+
price: number;
|
|
43
|
+
percentRent: number | null;
|
|
44
|
+
percentRentMax: number | null;
|
|
45
|
+
percentRentMin: number | null;
|
|
46
|
+
minimumPrice: number | null;
|
|
47
|
+
maximumPrice: number | null;
|
|
48
|
+
}
|
|
49
|
+
export interface ItemCombination {
|
|
50
|
+
quantities: ItemQuantity[];
|
|
51
|
+
}
|
|
52
|
+
export interface ItemQuantity {
|
|
53
|
+
itemType: string;
|
|
54
|
+
quantity: number;
|
|
55
|
+
}
|
|
56
|
+
export declare enum FeeFrequency {
|
|
57
|
+
NEVER = "NEVER",
|
|
58
|
+
ONE_TIME = "ONE_TIME",
|
|
59
|
+
MONTHLY = "MONTHLY",
|
|
60
|
+
WEEKLY = "WEEKLY",
|
|
61
|
+
BI_WEEKLY = "BI_WEEKLY",
|
|
62
|
+
ANNUALLY = "ANNUALLY",
|
|
63
|
+
DAILY = "DAILY"
|
|
64
|
+
}
|
|
65
|
+
export interface ChargeInputs {
|
|
66
|
+
baseRent: number;
|
|
67
|
+
numPets: number;
|
|
68
|
+
numDogs: number;
|
|
69
|
+
numCats: number;
|
|
70
|
+
numOtherPets: number;
|
|
71
|
+
numVehicles: number;
|
|
72
|
+
numApplicants: number;
|
|
73
|
+
unitId: number | null;
|
|
74
|
+
layoutId: string | null;
|
|
75
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
export declare enum MarketableFeeFrequency {
|
|
2
|
+
NEVER = "NEVER",
|
|
3
|
+
AS_NEEDED = "AS_NEEDED",
|
|
4
|
+
ONE_TIME = "ONE_TIME",
|
|
5
|
+
MONTHLY = "MONTHLY",
|
|
6
|
+
WEEKLY = "WEEKLY",
|
|
7
|
+
BI_WEEKLY = "BI_WEEKLY",
|
|
8
|
+
ANNUALLY = "ANNUALLY",
|
|
9
|
+
DAILY = "DAILY"
|
|
10
|
+
}
|
|
11
|
+
export declare enum MarketableFeeCategory {
|
|
12
|
+
Rent = "Rent",
|
|
13
|
+
Utility = "Utility",
|
|
14
|
+
ApplicationFee = "ApplicationFee",
|
|
15
|
+
Parking = "Parking",
|
|
16
|
+
Insurance = "Insurance",
|
|
17
|
+
Storage = "Storage",
|
|
18
|
+
PetFee = "PetFee",
|
|
19
|
+
PetRent = "PetRent",
|
|
20
|
+
PetDeposit = "PetDeposit",
|
|
21
|
+
SecurityDeposit = "SecurityDeposit",
|
|
22
|
+
MoveInFee = "MoveInFee",
|
|
23
|
+
Other = "Other"
|
|
24
|
+
}
|
|
25
|
+
export interface MarketableFee {
|
|
26
|
+
id: string;
|
|
27
|
+
building_id?: number;
|
|
28
|
+
fee_name: string;
|
|
29
|
+
amount?: number;
|
|
30
|
+
amount_display: string;
|
|
31
|
+
min_estimate?: number;
|
|
32
|
+
max_estimate?: number;
|
|
33
|
+
percent_rent?: number;
|
|
34
|
+
percent_rent_min?: number;
|
|
35
|
+
percent_rent_max?: number;
|
|
36
|
+
frequency: MarketableFeeFrequency;
|
|
37
|
+
category: MarketableFeeCategory;
|
|
38
|
+
description?: string;
|
|
39
|
+
additional_info?: string;
|
|
40
|
+
refundable: boolean;
|
|
41
|
+
hidden_reason?: string;
|
|
42
|
+
unit_ids?: number[];
|
|
43
|
+
layout_ids?: number[];
|
|
44
|
+
public_facing: boolean;
|
|
45
|
+
per_applicant: boolean;
|
|
46
|
+
required_for_quotes: boolean;
|
|
47
|
+
charge_code?: string;
|
|
48
|
+
bundle_key?: string;
|
|
49
|
+
external_key?: string;
|
|
50
|
+
}
|
|
51
|
+
export declare class MarketableFeeModel implements MarketableFee {
|
|
52
|
+
id: string;
|
|
53
|
+
building_id?: number;
|
|
54
|
+
fee_name: string;
|
|
55
|
+
amount?: number;
|
|
56
|
+
amount_display: string;
|
|
57
|
+
min_estimate?: number;
|
|
58
|
+
max_estimate?: number;
|
|
59
|
+
percent_rent?: number;
|
|
60
|
+
percent_rent_min?: number;
|
|
61
|
+
percent_rent_max?: number;
|
|
62
|
+
frequency: MarketableFeeFrequency;
|
|
63
|
+
category: MarketableFeeCategory;
|
|
64
|
+
description?: string;
|
|
65
|
+
additional_info?: string;
|
|
66
|
+
refundable: boolean;
|
|
67
|
+
hidden_reason?: string;
|
|
68
|
+
unit_ids?: number[];
|
|
69
|
+
layout_ids?: number[];
|
|
70
|
+
public_facing: boolean;
|
|
71
|
+
per_applicant: boolean;
|
|
72
|
+
required_for_quotes: boolean;
|
|
73
|
+
charge_code?: string;
|
|
74
|
+
bundle_key?: string;
|
|
75
|
+
external_key?: string;
|
|
76
|
+
constructor(data?: Partial<MarketableFee>);
|
|
77
|
+
get displayFrequency(): string;
|
|
78
|
+
get isOptional(): boolean;
|
|
79
|
+
}
|
|
@@ -1,17 +1,3 @@
|
|
|
1
|
-
import { ItemCombination } from "./item-combination";
|
|
2
|
-
import { PricingRule } from "./pricing-rule";
|
|
3
1
|
export declare class PricingMatrix {
|
|
4
|
-
|
|
5
|
-
constructor(data?: {
|
|
6
|
-
pricingRules?: PricingRule[];
|
|
7
|
-
});
|
|
8
|
-
addRule(rule: PricingRule): void;
|
|
9
|
-
getPrice(combination: ItemCombination): number | undefined;
|
|
10
|
-
toRuleArray(): PricingRule[];
|
|
11
|
-
toJSON(): {
|
|
12
|
-
pricingRules: PricingRule[];
|
|
13
|
-
};
|
|
14
|
-
static fromJSON(data: {
|
|
15
|
-
pricingRules: PricingRule[];
|
|
16
|
-
}): PricingMatrix;
|
|
2
|
+
static fromJSON(): PricingMatrix;
|
|
17
3
|
}
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
import PricingType from "./pricing-type";
|
|
2
1
|
export interface PricingMetadata {
|
|
3
|
-
|
|
4
|
-
pricingType: PricingType;
|
|
5
|
-
unitLabel: string | null;
|
|
6
|
-
minimumAmount: number | null;
|
|
7
|
-
maximumAmount: number | null;
|
|
8
|
-
percentRent: number | null;
|
|
9
|
-
percentRentMax: number | null;
|
|
10
|
-
percentRentMin: number | null;
|
|
2
|
+
[key: string]: unknown;
|
|
11
3
|
}
|
|
@@ -2,16 +2,30 @@ import { FeeQuote } from "./fee-quote";
|
|
|
2
2
|
import { AmountRange } from "./amount-range";
|
|
3
3
|
import { IncentiveV2 } from "../../../types/incentive-v2";
|
|
4
4
|
export interface Quote {
|
|
5
|
+
id: string;
|
|
6
|
+
buildingId: number;
|
|
5
7
|
unitId: number;
|
|
6
8
|
unitNumber: string;
|
|
7
9
|
unitLayout: number;
|
|
10
|
+
leaseTerm: number;
|
|
11
|
+
moveInDate: string;
|
|
12
|
+
dateAvailable: string | null;
|
|
13
|
+
numberOfBedrooms: number;
|
|
14
|
+
numberOfBathrooms: number;
|
|
15
|
+
floor: number;
|
|
16
|
+
squareFootage: number;
|
|
8
17
|
unitFloorplanName: string;
|
|
9
18
|
feeQuotes: FeeQuote[];
|
|
10
|
-
|
|
19
|
+
totalMonthlyCost: AmountRange;
|
|
11
20
|
rentCost: number;
|
|
12
21
|
feeCost: AmountRange;
|
|
13
22
|
applicationLink: string;
|
|
14
23
|
specials: IncentiveV2[];
|
|
15
|
-
addendum
|
|
24
|
+
addendum?: string | null;
|
|
16
25
|
floorplanLink: string | null;
|
|
26
|
+
floorplanLinkS3Path?: string | null;
|
|
27
|
+
floorplanLinkS3Bucket?: string | null;
|
|
28
|
+
virtualTourLink?: string | null;
|
|
29
|
+
floorplanLinkPresigned?: string | null;
|
|
30
|
+
pdfUrl?: string | null;
|
|
17
31
|
}
|
|
@@ -1,15 +1,25 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { DesiredRentableItem } from "../../WebComponent/FeeCalculator/model";
|
|
2
|
+
export interface ChargeInputs {
|
|
3
|
+
base_rent: number;
|
|
4
|
+
num_pets: number;
|
|
5
|
+
num_vehicles: number;
|
|
6
|
+
num_applicants: number;
|
|
7
|
+
num_cats?: number;
|
|
8
|
+
num_dogs?: number;
|
|
9
|
+
num_other_pets?: number;
|
|
10
|
+
}
|
|
2
11
|
import { Quote } from "../../WebComponent/FeeCalculator/model/quote";
|
|
3
12
|
declare type CalculateQuoteRequest = {
|
|
4
13
|
buildingSlug: string;
|
|
5
14
|
unitId: number;
|
|
6
|
-
|
|
15
|
+
chargeInputs: ChargeInputs;
|
|
7
16
|
rentableItems: DesiredRentableItem[];
|
|
8
17
|
leaseTerm: number;
|
|
9
18
|
moveInDate: string;
|
|
10
19
|
};
|
|
11
20
|
export declare type CalculateQuoteResponse = {
|
|
12
21
|
quote: Quote;
|
|
22
|
+
pdfUrl?: string;
|
|
13
23
|
};
|
|
14
|
-
export declare const calculateQuote: ({ buildingSlug, unitId,
|
|
24
|
+
export declare const calculateQuote: ({ buildingSlug, unitId, chargeInputs, rentableItems, leaseTerm, moveInDate, }: CalculateQuoteRequest, signal?: AbortSignal) => Promise<CalculateQuoteResponse>;
|
|
15
25
|
export default calculateQuote;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { IncentiveV2 } from "../../types/incentive-v2";
|
|
2
2
|
import { RentableItemSummary } from "../../WebComponent/FeeCalculator/model/rentable-item-summary";
|
|
3
|
-
import {
|
|
3
|
+
import { MarketableFee } from "../../WebComponent/FeeCalculator/model/marketable-fee";
|
|
4
4
|
declare type BuildingFeeResponse = {
|
|
5
|
-
fees:
|
|
5
|
+
fees: MarketableFee[];
|
|
6
6
|
rentableItems: RentableItemSummary[];
|
|
7
7
|
buildingIncentives: IncentiveV2[];
|
|
8
8
|
};
|