@homespot-sdk/api 0.0.637 → 0.0.639

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.
Files changed (145) hide show
  1. package/.openapi-generator/FILES +38 -0
  2. package/README.md +32 -3
  3. package/dist/apis/AgencyQueryControllerApi.d.ts +46 -0
  4. package/dist/apis/AgencyQueryControllerApi.js +65 -0
  5. package/dist/apis/LeadControllerApi.d.ts +280 -0
  6. package/dist/apis/LeadControllerApi.js +452 -0
  7. package/dist/apis/LeadQueryControllerApi.d.ts +88 -0
  8. package/dist/apis/LeadQueryControllerApi.js +122 -0
  9. package/dist/apis/PublicAgencyControllerApi.d.ts +1 -21
  10. package/dist/apis/PublicAgencyControllerApi.js +0 -32
  11. package/dist/apis/index.d.ts +3 -0
  12. package/dist/apis/index.js +3 -0
  13. package/dist/esm/apis/AgencyQueryControllerApi.d.ts +46 -0
  14. package/dist/esm/apis/AgencyQueryControllerApi.js +61 -0
  15. package/dist/esm/apis/LeadControllerApi.d.ts +280 -0
  16. package/dist/esm/apis/LeadControllerApi.js +448 -0
  17. package/dist/esm/apis/LeadQueryControllerApi.d.ts +88 -0
  18. package/dist/esm/apis/LeadQueryControllerApi.js +118 -0
  19. package/dist/esm/apis/PublicAgencyControllerApi.d.ts +1 -21
  20. package/dist/esm/apis/PublicAgencyControllerApi.js +1 -33
  21. package/dist/esm/apis/index.d.ts +3 -0
  22. package/dist/esm/apis/index.js +3 -0
  23. package/dist/esm/models/AddressRefRequest.d.ts +63 -0
  24. package/dist/esm/models/AddressRefRequest.js +54 -0
  25. package/dist/esm/models/AssignToMemberRequest.d.ts +32 -0
  26. package/dist/esm/models/AssignToMemberRequest.js +43 -0
  27. package/dist/esm/models/ChangeStatusRequest.d.ts +44 -0
  28. package/dist/esm/models/ChangeStatusRequest.js +54 -0
  29. package/dist/esm/models/ContactInfoRequest.d.ts +50 -0
  30. package/dist/esm/models/ContactInfoRequest.js +49 -0
  31. package/dist/esm/models/CoordinatesRequest.d.ts +38 -0
  32. package/dist/esm/models/CoordinatesRequest.js +47 -0
  33. package/dist/esm/models/CreateLeadRequest.d.ts +45 -0
  34. package/dist/esm/models/CreateLeadRequest.js +48 -0
  35. package/dist/esm/models/LeadProjectionResponse.d.ts +130 -0
  36. package/dist/esm/models/LeadProjectionResponse.js +94 -0
  37. package/dist/esm/models/ListingIntentRequest.d.ts +98 -0
  38. package/dist/esm/models/ListingIntentRequest.js +89 -0
  39. package/dist/esm/models/ListingIntentResponse.d.ts +138 -0
  40. package/dist/esm/models/ListingIntentResponse.js +101 -0
  41. package/dist/esm/models/LocationRefRequest.d.ts +56 -0
  42. package/dist/esm/models/LocationRefRequest.js +49 -0
  43. package/dist/esm/models/PageLeadProjectionResponse.d.ts +95 -0
  44. package/dist/esm/models/PageLeadProjectionResponse.js +64 -0
  45. package/dist/esm/models/PageRoleResponse.d.ts +2 -2
  46. package/dist/esm/models/PageRoleResponse.js +2 -2
  47. package/dist/esm/models/PageableObject.d.ts +6 -6
  48. package/dist/esm/models/PageableObject.js +2 -2
  49. package/dist/esm/models/PriceRangeRequest.d.ts +38 -0
  50. package/dist/esm/models/PriceRangeRequest.js +43 -0
  51. package/dist/esm/models/SearchIntentRequest.d.ts +98 -0
  52. package/dist/esm/models/SearchIntentRequest.js +89 -0
  53. package/dist/esm/models/SearchIntentResponse.d.ts +126 -0
  54. package/dist/esm/models/SearchIntentResponse.js +97 -0
  55. package/dist/esm/models/SourceRequest.d.ts +32 -0
  56. package/dist/esm/models/SourceRequest.js +43 -0
  57. package/dist/esm/models/UpdateNoteRequest.d.ts +32 -0
  58. package/dist/esm/models/UpdateNoteRequest.js +43 -0
  59. package/dist/esm/models/index.d.ts +16 -0
  60. package/dist/esm/models/index.js +16 -0
  61. package/dist/models/AddressRefRequest.d.ts +63 -0
  62. package/dist/models/AddressRefRequest.js +61 -0
  63. package/dist/models/AssignToMemberRequest.d.ts +32 -0
  64. package/dist/models/AssignToMemberRequest.js +50 -0
  65. package/dist/models/ChangeStatusRequest.d.ts +44 -0
  66. package/dist/models/ChangeStatusRequest.js +62 -0
  67. package/dist/models/ContactInfoRequest.d.ts +50 -0
  68. package/dist/models/ContactInfoRequest.js +56 -0
  69. package/dist/models/CoordinatesRequest.d.ts +38 -0
  70. package/dist/models/CoordinatesRequest.js +54 -0
  71. package/dist/models/CreateLeadRequest.d.ts +45 -0
  72. package/dist/models/CreateLeadRequest.js +55 -0
  73. package/dist/models/LeadProjectionResponse.d.ts +130 -0
  74. package/dist/models/LeadProjectionResponse.js +102 -0
  75. package/dist/models/ListingIntentRequest.d.ts +98 -0
  76. package/dist/models/ListingIntentRequest.js +97 -0
  77. package/dist/models/ListingIntentResponse.d.ts +138 -0
  78. package/dist/models/ListingIntentResponse.js +109 -0
  79. package/dist/models/LocationRefRequest.d.ts +56 -0
  80. package/dist/models/LocationRefRequest.js +56 -0
  81. package/dist/models/PageLeadProjectionResponse.d.ts +95 -0
  82. package/dist/models/PageLeadProjectionResponse.js +71 -0
  83. package/dist/models/PageRoleResponse.d.ts +2 -2
  84. package/dist/models/PageRoleResponse.js +2 -2
  85. package/dist/models/PageableObject.d.ts +6 -6
  86. package/dist/models/PageableObject.js +2 -2
  87. package/dist/models/PriceRangeRequest.d.ts +38 -0
  88. package/dist/models/PriceRangeRequest.js +50 -0
  89. package/dist/models/SearchIntentRequest.d.ts +98 -0
  90. package/dist/models/SearchIntentRequest.js +97 -0
  91. package/dist/models/SearchIntentResponse.d.ts +126 -0
  92. package/dist/models/SearchIntentResponse.js +105 -0
  93. package/dist/models/SourceRequest.d.ts +32 -0
  94. package/dist/models/SourceRequest.js +50 -0
  95. package/dist/models/UpdateNoteRequest.d.ts +32 -0
  96. package/dist/models/UpdateNoteRequest.js +50 -0
  97. package/dist/models/index.d.ts +16 -0
  98. package/dist/models/index.js +16 -0
  99. package/docs/AddressRefRequest.md +44 -0
  100. package/docs/AgencyQueryControllerApi.md +78 -0
  101. package/docs/AssignToMemberRequest.md +34 -0
  102. package/docs/ChangeStatusRequest.md +34 -0
  103. package/docs/ContactInfoRequest.md +40 -0
  104. package/docs/CoordinatesRequest.md +36 -0
  105. package/docs/CreateLeadRequest.md +38 -0
  106. package/docs/LeadControllerApi.md +817 -0
  107. package/docs/LeadProjectionResponse.md +62 -0
  108. package/docs/LeadQueryControllerApi.md +163 -0
  109. package/docs/ListingIntentRequest.md +44 -0
  110. package/docs/ListingIntentResponse.md +58 -0
  111. package/docs/LocationRefRequest.md +42 -0
  112. package/docs/PageLeadProjectionResponse.md +54 -0
  113. package/docs/PageRoleResponse.md +2 -2
  114. package/docs/PageableObject.md +2 -2
  115. package/docs/PriceRangeRequest.md +36 -0
  116. package/docs/PublicAgencyControllerApi.md +0 -70
  117. package/docs/SearchIntentRequest.md +44 -0
  118. package/docs/SearchIntentResponse.md +54 -0
  119. package/docs/SourceRequest.md +34 -0
  120. package/docs/UpdateNoteRequest.md +34 -0
  121. package/package.json +1 -1
  122. package/src/apis/AgencyQueryControllerApi.ts +96 -0
  123. package/src/apis/LeadControllerApi.ts +851 -0
  124. package/src/apis/LeadQueryControllerApi.ts +195 -0
  125. package/src/apis/PublicAgencyControllerApi.ts +0 -60
  126. package/src/apis/index.ts +3 -0
  127. package/src/models/AddressRefRequest.ts +114 -0
  128. package/src/models/AssignToMemberRequest.ts +66 -0
  129. package/src/models/ChangeStatusRequest.ts +81 -0
  130. package/src/models/ContactInfoRequest.ts +90 -0
  131. package/src/models/CoordinatesRequest.ts +75 -0
  132. package/src/models/CreateLeadRequest.ts +90 -0
  133. package/src/models/LeadProjectionResponse.ts +213 -0
  134. package/src/models/ListingIntentRequest.ts +160 -0
  135. package/src/models/ListingIntentResponse.ts +201 -0
  136. package/src/models/LocationRefRequest.ts +97 -0
  137. package/src/models/PageLeadProjectionResponse.ts +167 -0
  138. package/src/models/PageRoleResponse.ts +4 -4
  139. package/src/models/PageableObject.ts +8 -8
  140. package/src/models/PriceRangeRequest.ts +73 -0
  141. package/src/models/SearchIntentRequest.ts +160 -0
  142. package/src/models/SearchIntentResponse.ts +185 -0
  143. package/src/models/SourceRequest.ts +66 -0
  144. package/src/models/UpdateNoteRequest.ts +66 -0
  145. package/src/models/index.ts +16 -0
@@ -0,0 +1,75 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Service API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v1
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ /**
17
+ *
18
+ * @export
19
+ * @interface CoordinatesRequest
20
+ */
21
+ export interface CoordinatesRequest {
22
+ /**
23
+ *
24
+ * @type {number}
25
+ * @memberof CoordinatesRequest
26
+ */
27
+ lat: number;
28
+ /**
29
+ *
30
+ * @type {number}
31
+ * @memberof CoordinatesRequest
32
+ */
33
+ lng: number;
34
+ }
35
+
36
+ /**
37
+ * Check if a given object implements the CoordinatesRequest interface.
38
+ */
39
+ export function instanceOfCoordinatesRequest(value: object): value is CoordinatesRequest {
40
+ if (!('lat' in value) || value['lat'] === undefined) return false;
41
+ if (!('lng' in value) || value['lng'] === undefined) return false;
42
+ return true;
43
+ }
44
+
45
+ export function CoordinatesRequestFromJSON(json: any): CoordinatesRequest {
46
+ return CoordinatesRequestFromJSONTyped(json, false);
47
+ }
48
+
49
+ export function CoordinatesRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CoordinatesRequest {
50
+ if (json == null) {
51
+ return json;
52
+ }
53
+ return {
54
+
55
+ 'lat': json['lat'],
56
+ 'lng': json['lng'],
57
+ };
58
+ }
59
+
60
+ export function CoordinatesRequestToJSON(json: any): CoordinatesRequest {
61
+ return CoordinatesRequestToJSONTyped(json, false);
62
+ }
63
+
64
+ export function CoordinatesRequestToJSONTyped(value?: CoordinatesRequest | null, ignoreDiscriminator: boolean = false): any {
65
+ if (value == null) {
66
+ return value;
67
+ }
68
+
69
+ return {
70
+
71
+ 'lat': value['lat'],
72
+ 'lng': value['lng'],
73
+ };
74
+ }
75
+
@@ -0,0 +1,90 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Service API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v1
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { ContactInfoRequest } from './ContactInfoRequest';
17
+ import {
18
+ ContactInfoRequestFromJSON,
19
+ ContactInfoRequestFromJSONTyped,
20
+ ContactInfoRequestToJSON,
21
+ ContactInfoRequestToJSONTyped,
22
+ } from './ContactInfoRequest';
23
+
24
+ /**
25
+ *
26
+ * @export
27
+ * @interface CreateLeadRequest
28
+ */
29
+ export interface CreateLeadRequest {
30
+ /**
31
+ *
32
+ * @type {ContactInfoRequest}
33
+ * @memberof CreateLeadRequest
34
+ */
35
+ contactInfo: ContactInfoRequest;
36
+ /**
37
+ *
38
+ * @type {string}
39
+ * @memberof CreateLeadRequest
40
+ */
41
+ note?: string;
42
+ /**
43
+ *
44
+ * @type {string}
45
+ * @memberof CreateLeadRequest
46
+ */
47
+ sourceUrl?: string;
48
+ }
49
+
50
+ /**
51
+ * Check if a given object implements the CreateLeadRequest interface.
52
+ */
53
+ export function instanceOfCreateLeadRequest(value: object): value is CreateLeadRequest {
54
+ if (!('contactInfo' in value) || value['contactInfo'] === undefined) return false;
55
+ return true;
56
+ }
57
+
58
+ export function CreateLeadRequestFromJSON(json: any): CreateLeadRequest {
59
+ return CreateLeadRequestFromJSONTyped(json, false);
60
+ }
61
+
62
+ export function CreateLeadRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateLeadRequest {
63
+ if (json == null) {
64
+ return json;
65
+ }
66
+ return {
67
+
68
+ 'contactInfo': ContactInfoRequestFromJSON(json['contactInfo']),
69
+ 'note': json['note'] == null ? undefined : json['note'],
70
+ 'sourceUrl': json['sourceUrl'] == null ? undefined : json['sourceUrl'],
71
+ };
72
+ }
73
+
74
+ export function CreateLeadRequestToJSON(json: any): CreateLeadRequest {
75
+ return CreateLeadRequestToJSONTyped(json, false);
76
+ }
77
+
78
+ export function CreateLeadRequestToJSONTyped(value?: CreateLeadRequest | null, ignoreDiscriminator: boolean = false): any {
79
+ if (value == null) {
80
+ return value;
81
+ }
82
+
83
+ return {
84
+
85
+ 'contactInfo': ContactInfoRequestToJSON(value['contactInfo']),
86
+ 'note': value['note'],
87
+ 'sourceUrl': value['sourceUrl'],
88
+ };
89
+ }
90
+
@@ -0,0 +1,213 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Service API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v1
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { ListingIntentResponse } from './ListingIntentResponse';
17
+ import {
18
+ ListingIntentResponseFromJSON,
19
+ ListingIntentResponseFromJSONTyped,
20
+ ListingIntentResponseToJSON,
21
+ ListingIntentResponseToJSONTyped,
22
+ } from './ListingIntentResponse';
23
+ import type { SearchIntentResponse } from './SearchIntentResponse';
24
+ import {
25
+ SearchIntentResponseFromJSON,
26
+ SearchIntentResponseFromJSONTyped,
27
+ SearchIntentResponseToJSON,
28
+ SearchIntentResponseToJSONTyped,
29
+ } from './SearchIntentResponse';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface LeadProjectionResponse
35
+ */
36
+ export interface LeadProjectionResponse {
37
+ /**
38
+ *
39
+ * @type {string}
40
+ * @memberof LeadProjectionResponse
41
+ */
42
+ id: string;
43
+ /**
44
+ *
45
+ * @type {string}
46
+ * @memberof LeadProjectionResponse
47
+ */
48
+ createdBy: string;
49
+ /**
50
+ *
51
+ * @type {string}
52
+ * @memberof LeadProjectionResponse
53
+ */
54
+ assignedTo?: string;
55
+ /**
56
+ *
57
+ * @type {string}
58
+ * @memberof LeadProjectionResponse
59
+ */
60
+ status: LeadProjectionResponseStatusEnum;
61
+ /**
62
+ *
63
+ * @type {string}
64
+ * @memberof LeadProjectionResponse
65
+ */
66
+ contactFullName?: string;
67
+ /**
68
+ *
69
+ * @type {string}
70
+ * @memberof LeadProjectionResponse
71
+ */
72
+ contactPhoneNumber: string;
73
+ /**
74
+ *
75
+ * @type {string}
76
+ * @memberof LeadProjectionResponse
77
+ */
78
+ contactEmail?: string;
79
+ /**
80
+ *
81
+ * @type {string}
82
+ * @memberof LeadProjectionResponse
83
+ */
84
+ noteTitle?: string;
85
+ /**
86
+ *
87
+ * @type {string}
88
+ * @memberof LeadProjectionResponse
89
+ */
90
+ noteContent?: string;
91
+ /**
92
+ *
93
+ * @type {string}
94
+ * @memberof LeadProjectionResponse
95
+ */
96
+ sourceType?: string;
97
+ /**
98
+ *
99
+ * @type {string}
100
+ * @memberof LeadProjectionResponse
101
+ */
102
+ sourceLink?: string;
103
+ /**
104
+ *
105
+ * @type {boolean}
106
+ * @memberof LeadProjectionResponse
107
+ */
108
+ isSearcher: boolean;
109
+ /**
110
+ *
111
+ * @type {boolean}
112
+ * @memberof LeadProjectionResponse
113
+ */
114
+ isLister: boolean;
115
+ /**
116
+ *
117
+ * @type {Array<SearchIntentResponse>}
118
+ * @memberof LeadProjectionResponse
119
+ */
120
+ searchIntents?: Array<SearchIntentResponse>;
121
+ /**
122
+ *
123
+ * @type {Array<ListingIntentResponse>}
124
+ * @memberof LeadProjectionResponse
125
+ */
126
+ listingIntents?: Array<ListingIntentResponse>;
127
+ }
128
+
129
+
130
+ /**
131
+ * @export
132
+ */
133
+ export const LeadProjectionResponseStatusEnum = {
134
+ New: 'NEW',
135
+ AttemptedContact: 'ATTEMPTED_CONTACT',
136
+ Contacted: 'CONTACTED',
137
+ Disqualified: 'DISQUALIFIED',
138
+ Converted: 'CONVERTED',
139
+ Lost: 'LOST'
140
+ } as const;
141
+ export type LeadProjectionResponseStatusEnum = typeof LeadProjectionResponseStatusEnum[keyof typeof LeadProjectionResponseStatusEnum];
142
+
143
+
144
+ /**
145
+ * Check if a given object implements the LeadProjectionResponse interface.
146
+ */
147
+ export function instanceOfLeadProjectionResponse(value: object): value is LeadProjectionResponse {
148
+ if (!('id' in value) || value['id'] === undefined) return false;
149
+ if (!('createdBy' in value) || value['createdBy'] === undefined) return false;
150
+ if (!('status' in value) || value['status'] === undefined) return false;
151
+ if (!('contactPhoneNumber' in value) || value['contactPhoneNumber'] === undefined) return false;
152
+ if (!('isSearcher' in value) || value['isSearcher'] === undefined) return false;
153
+ if (!('isLister' in value) || value['isLister'] === undefined) return false;
154
+ return true;
155
+ }
156
+
157
+ export function LeadProjectionResponseFromJSON(json: any): LeadProjectionResponse {
158
+ return LeadProjectionResponseFromJSONTyped(json, false);
159
+ }
160
+
161
+ export function LeadProjectionResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): LeadProjectionResponse {
162
+ if (json == null) {
163
+ return json;
164
+ }
165
+ return {
166
+
167
+ 'id': json['id'],
168
+ 'createdBy': json['createdBy'],
169
+ 'assignedTo': json['assignedTo'] == null ? undefined : json['assignedTo'],
170
+ 'status': json['status'],
171
+ 'contactFullName': json['contactFullName'] == null ? undefined : json['contactFullName'],
172
+ 'contactPhoneNumber': json['contactPhoneNumber'],
173
+ 'contactEmail': json['contactEmail'] == null ? undefined : json['contactEmail'],
174
+ 'noteTitle': json['noteTitle'] == null ? undefined : json['noteTitle'],
175
+ 'noteContent': json['noteContent'] == null ? undefined : json['noteContent'],
176
+ 'sourceType': json['sourceType'] == null ? undefined : json['sourceType'],
177
+ 'sourceLink': json['sourceLink'] == null ? undefined : json['sourceLink'],
178
+ 'isSearcher': json['isSearcher'],
179
+ 'isLister': json['isLister'],
180
+ 'searchIntents': json['searchIntents'] == null ? undefined : ((json['searchIntents'] as Array<any>).map(SearchIntentResponseFromJSON)),
181
+ 'listingIntents': json['listingIntents'] == null ? undefined : ((json['listingIntents'] as Array<any>).map(ListingIntentResponseFromJSON)),
182
+ };
183
+ }
184
+
185
+ export function LeadProjectionResponseToJSON(json: any): LeadProjectionResponse {
186
+ return LeadProjectionResponseToJSONTyped(json, false);
187
+ }
188
+
189
+ export function LeadProjectionResponseToJSONTyped(value?: LeadProjectionResponse | null, ignoreDiscriminator: boolean = false): any {
190
+ if (value == null) {
191
+ return value;
192
+ }
193
+
194
+ return {
195
+
196
+ 'id': value['id'],
197
+ 'createdBy': value['createdBy'],
198
+ 'assignedTo': value['assignedTo'],
199
+ 'status': value['status'],
200
+ 'contactFullName': value['contactFullName'],
201
+ 'contactPhoneNumber': value['contactPhoneNumber'],
202
+ 'contactEmail': value['contactEmail'],
203
+ 'noteTitle': value['noteTitle'],
204
+ 'noteContent': value['noteContent'],
205
+ 'sourceType': value['sourceType'],
206
+ 'sourceLink': value['sourceLink'],
207
+ 'isSearcher': value['isSearcher'],
208
+ 'isLister': value['isLister'],
209
+ 'searchIntents': value['searchIntents'] == null ? undefined : ((value['searchIntents'] as Array<any>).map(SearchIntentResponseToJSON)),
210
+ 'listingIntents': value['listingIntents'] == null ? undefined : ((value['listingIntents'] as Array<any>).map(ListingIntentResponseToJSON)),
211
+ };
212
+ }
213
+
@@ -0,0 +1,160 @@
1
+ /* tslint:disable */
2
+ /* eslint-disable */
3
+ /**
4
+ * Service API
5
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
6
+ *
7
+ * The version of the OpenAPI document: v1
8
+ *
9
+ *
10
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
11
+ * https://openapi-generator.tech
12
+ * Do not edit the class manually.
13
+ */
14
+
15
+ import { mapValues } from '../runtime';
16
+ import type { AddressRefRequest } from './AddressRefRequest';
17
+ import {
18
+ AddressRefRequestFromJSON,
19
+ AddressRefRequestFromJSONTyped,
20
+ AddressRefRequestToJSON,
21
+ AddressRefRequestToJSONTyped,
22
+ } from './AddressRefRequest';
23
+ import type { PriceRangeRequest } from './PriceRangeRequest';
24
+ import {
25
+ PriceRangeRequestFromJSON,
26
+ PriceRangeRequestFromJSONTyped,
27
+ PriceRangeRequestToJSON,
28
+ PriceRangeRequestToJSONTyped,
29
+ } from './PriceRangeRequest';
30
+
31
+ /**
32
+ *
33
+ * @export
34
+ * @interface ListingIntentRequest
35
+ */
36
+ export interface ListingIntentRequest {
37
+ /**
38
+ *
39
+ * @type {string}
40
+ * @memberof ListingIntentRequest
41
+ */
42
+ propertyType: ListingIntentRequestPropertyTypeEnum;
43
+ /**
44
+ *
45
+ * @type {string}
46
+ * @memberof ListingIntentRequest
47
+ */
48
+ dealType: ListingIntentRequestDealTypeEnum;
49
+ /**
50
+ *
51
+ * @type {PriceRangeRequest}
52
+ * @memberof ListingIntentRequest
53
+ */
54
+ desiredPrice?: PriceRangeRequest;
55
+ /**
56
+ *
57
+ * @type {AddressRefRequest}
58
+ * @memberof ListingIntentRequest
59
+ */
60
+ address?: AddressRefRequest;
61
+ /**
62
+ *
63
+ * @type {number}
64
+ * @memberof ListingIntentRequest
65
+ */
66
+ area?: number;
67
+ /**
68
+ *
69
+ * @type {number}
70
+ * @memberof ListingIntentRequest
71
+ */
72
+ numberOfRooms?: number;
73
+ }
74
+
75
+
76
+ /**
77
+ * @export
78
+ */
79
+ export const ListingIntentRequestPropertyTypeEnum = {
80
+ House: 'HOUSE',
81
+ TownHouse: 'TOWN_HOUSE',
82
+ CountryHouse: 'COUNTRY_HOUSE',
83
+ Villa: 'VILLA',
84
+ Cottage: 'COTTAGE',
85
+ Apartment: 'APARTMENT',
86
+ Duplex: 'DUPLEX',
87
+ Triplex: 'TRIPLEX',
88
+ SemiBasement: 'SEMI_BASEMENT',
89
+ Attic: 'ATTIC',
90
+ AgriculturalLand: 'AGRICULTURAL_LAND',
91
+ ResidentialLand: 'RESIDENTIAL_LAND',
92
+ HotelRoom: 'HOTEL_ROOM',
93
+ MotelRoom: 'MOTEL_ROOM',
94
+ CoLivingSpace: 'CO_LIVING_SPACE',
95
+ Office: 'OFFICE',
96
+ CommercialSpace: 'COMMERCIAL_SPACE',
97
+ CoWorkingSpace: 'CO_WORKING_SPACE',
98
+ Warehouse: 'WAREHOUSE',
99
+ Garage: 'GARAGE'
100
+ } as const;
101
+ export type ListingIntentRequestPropertyTypeEnum = typeof ListingIntentRequestPropertyTypeEnum[keyof typeof ListingIntentRequestPropertyTypeEnum];
102
+
103
+ /**
104
+ * @export
105
+ */
106
+ export const ListingIntentRequestDealTypeEnum = {
107
+ Buy: 'BUY',
108
+ Rent: 'RENT'
109
+ } as const;
110
+ export type ListingIntentRequestDealTypeEnum = typeof ListingIntentRequestDealTypeEnum[keyof typeof ListingIntentRequestDealTypeEnum];
111
+
112
+
113
+ /**
114
+ * Check if a given object implements the ListingIntentRequest interface.
115
+ */
116
+ export function instanceOfListingIntentRequest(value: object): value is ListingIntentRequest {
117
+ if (!('propertyType' in value) || value['propertyType'] === undefined) return false;
118
+ if (!('dealType' in value) || value['dealType'] === undefined) return false;
119
+ return true;
120
+ }
121
+
122
+ export function ListingIntentRequestFromJSON(json: any): ListingIntentRequest {
123
+ return ListingIntentRequestFromJSONTyped(json, false);
124
+ }
125
+
126
+ export function ListingIntentRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): ListingIntentRequest {
127
+ if (json == null) {
128
+ return json;
129
+ }
130
+ return {
131
+
132
+ 'propertyType': json['propertyType'],
133
+ 'dealType': json['dealType'],
134
+ 'desiredPrice': json['desiredPrice'] == null ? undefined : PriceRangeRequestFromJSON(json['desiredPrice']),
135
+ 'address': json['address'] == null ? undefined : AddressRefRequestFromJSON(json['address']),
136
+ 'area': json['area'] == null ? undefined : json['area'],
137
+ 'numberOfRooms': json['numberOfRooms'] == null ? undefined : json['numberOfRooms'],
138
+ };
139
+ }
140
+
141
+ export function ListingIntentRequestToJSON(json: any): ListingIntentRequest {
142
+ return ListingIntentRequestToJSONTyped(json, false);
143
+ }
144
+
145
+ export function ListingIntentRequestToJSONTyped(value?: ListingIntentRequest | null, ignoreDiscriminator: boolean = false): any {
146
+ if (value == null) {
147
+ return value;
148
+ }
149
+
150
+ return {
151
+
152
+ 'propertyType': value['propertyType'],
153
+ 'dealType': value['dealType'],
154
+ 'desiredPrice': PriceRangeRequestToJSON(value['desiredPrice']),
155
+ 'address': AddressRefRequestToJSON(value['address']),
156
+ 'area': value['area'],
157
+ 'numberOfRooms': value['numberOfRooms'],
158
+ };
159
+ }
160
+