repzo 1.0.155 → 1.0.156
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/package.json +2 -2
- package/src/index.ts +4890 -0
- package/src/oas/activity-ai-sales-order.yaml +623 -0
- package/src/oas/activity-feedback-v2.yaml +753 -0
- package/src/oas/activity-feedback.yaml +645 -0
- package/src/oas/activity-storecheck.yaml +379 -0
- package/src/oas/adjust-account.yaml +241 -0
- package/src/oas/adjust-inventory.yaml +133 -0
- package/src/oas/approval-request.yaml +211 -0
- package/src/oas/approvals.yaml +176 -0
- package/src/oas/asset-part-receival.yaml +591 -0
- package/src/oas/asset-part-transfer.yaml +618 -0
- package/src/oas/asset-part-type.yaml +383 -0
- package/src/oas/asset-part-unit.yaml +722 -0
- package/src/oas/asset-part.yaml +485 -0
- package/src/oas/asset-type.yaml +180 -0
- package/src/oas/asset-unit.yaml +705 -0
- package/src/oas/asset.yaml +204 -0
- package/src/oas/banks.yaml +168 -0
- package/src/oas/bankslists.yaml +168 -0
- package/src/oas/brand.yaml +246 -0
- package/src/oas/category.yaml +285 -0
- package/src/oas/checks.yaml +247 -0
- package/src/oas/client-channel.yaml +480 -0
- package/src/oas/client-contact.yaml +665 -0
- package/src/oas/client-location.yaml +687 -0
- package/src/oas/client.yaml +669 -0
- package/src/oas/contract-installment.yaml +740 -0
- package/src/oas/contract.yaml +210 -0
- package/src/oas/custom-list-item.yaml +168 -0
- package/src/oas/custom-list.yaml +168 -0
- package/src/oas/custom-status.yaml +168 -0
- package/src/oas/day.yaml +246 -0
- package/src/oas/feedback-options.yaml +802 -0
- package/src/oas/fullinvoices.yaml +584 -0
- package/src/oas/integration-action-log.yaml +361 -0
- package/src/oas/integration-app.yaml +303 -0
- package/src/oas/integration-command-log.yaml +381 -0
- package/src/oas/inventory-adjustment-reason.yaml +165 -0
- package/src/oas/inventory.yaml +64 -0
- package/src/oas/mail-unsubscribe.yaml +463 -0
- package/src/oas/measureunit-family.yaml +354 -0
- package/src/oas/measureunit.yaml +366 -0
- package/src/oas/media-storage.yaml +329 -0
- package/src/oas/media.yaml +472 -0
- package/src/oas/msl-products.yaml +180 -0
- package/src/oas/msl.yaml +186 -0
- package/src/oas/ocr-invoice-job-group.yaml +528 -0
- package/src/oas/ocr-invoice-job-page.yaml +602 -0
- package/src/oas/ocr-invoice-job-template.yaml +628 -0
- package/src/oas/ocr-invoice-job.yaml +603 -0
- package/src/oas/patch-action.yaml +421 -0
- package/src/oas/payment-terms.yaml +235 -0
- package/src/oas/payments.yaml +536 -0
- package/src/oas/pricelist-item.yaml +369 -0
- package/src/oas/pricelist.yaml +287 -0
- package/src/oas/product-group.yaml +278 -0
- package/src/oas/product-modifiers-group.yaml +524 -0
- package/src/oas/product.yaml +578 -0
- package/src/oas/proforma.yaml +180 -0
- package/src/oas/quick-convert-to-pdf.yaml +95 -0
- package/src/oas/receiving-material.yaml +336 -0
- package/src/oas/refund.yaml +281 -0
- package/src/oas/rep-balance-summary.yaml +135 -0
- package/src/oas/rep.yaml +1824 -0
- package/src/oas/return-asset-part-unit.yaml +573 -0
- package/src/oas/return-reason.yaml +286 -0
- package/src/oas/route.yaml +337 -0
- package/src/oas/safe-invoice-serial-counter.yaml +525 -0
- package/src/oas/settings.yaml +123 -0
- package/src/oas/settlement.yaml +505 -0
- package/src/oas/speciality.yaml +447 -0
- package/src/oas/store-asset-part-unit.yaml +658 -0
- package/src/oas/storecheck-template.yaml +415 -0
- package/src/oas/subcategory.yaml +355 -0
- package/src/oas/supplier.yaml +183 -0
- package/src/oas/svix-integration.yaml +335 -0
- package/src/oas/tag.yaml +272 -0
- package/src/oas/tax.yaml +303 -0
- package/src/oas/team.yaml +268 -0
- package/src/oas/transfer.yaml +347 -0
- package/src/oas/update-integration-meta.yaml +387 -0
- package/src/oas/variant.yaml +569 -0
- package/src/oas/visit.yaml +174 -0
- package/src/oas/warehouse.yaml +311 -0
- package/src/oas/workorder-category.yaml +751 -0
- package/src/oas/workorder-portal-link.yaml +811 -0
- package/src/oas/workorder-portal.yaml +650 -0
- package/src/oas/workorder-request.yaml +193 -0
- package/src/oas/workorder.yaml +204 -0
|
@@ -0,0 +1,740 @@
|
|
|
1
|
+
openapi: 3.0.0
|
|
2
|
+
info:
|
|
3
|
+
title: Contract Installment API
|
|
4
|
+
description: API for managing contract installments
|
|
5
|
+
version: 1.0.0
|
|
6
|
+
servers:
|
|
7
|
+
- url: https://api.repzo.me/v1
|
|
8
|
+
description: Production server
|
|
9
|
+
security:
|
|
10
|
+
- ApiKeyAuth: []
|
|
11
|
+
tags:
|
|
12
|
+
- name: Contract Installment
|
|
13
|
+
description: Contract installment management operations
|
|
14
|
+
paths:
|
|
15
|
+
/contract-installment:
|
|
16
|
+
get:
|
|
17
|
+
tags:
|
|
18
|
+
- Contract Installment
|
|
19
|
+
summary: Get all contract installments
|
|
20
|
+
description: Retrieve a list of all contract installments with optional filtering and pagination
|
|
21
|
+
parameters:
|
|
22
|
+
- name: page
|
|
23
|
+
in: query
|
|
24
|
+
description: Page number for pagination
|
|
25
|
+
required: false
|
|
26
|
+
schema:
|
|
27
|
+
type: integer
|
|
28
|
+
minimum: 1
|
|
29
|
+
default: 1
|
|
30
|
+
- name: per_page
|
|
31
|
+
in: query
|
|
32
|
+
description: Number of items per page
|
|
33
|
+
required: false
|
|
34
|
+
schema:
|
|
35
|
+
type: integer
|
|
36
|
+
minimum: 1
|
|
37
|
+
maximum: 100
|
|
38
|
+
default: 25
|
|
39
|
+
- name: sort
|
|
40
|
+
in: query
|
|
41
|
+
description: Sort field
|
|
42
|
+
required: false
|
|
43
|
+
schema:
|
|
44
|
+
type: string
|
|
45
|
+
- name: company_namespace
|
|
46
|
+
in: query
|
|
47
|
+
description: Company namespace for filtering
|
|
48
|
+
required: false
|
|
49
|
+
schema:
|
|
50
|
+
type: array
|
|
51
|
+
items:
|
|
52
|
+
type: string
|
|
53
|
+
- name: contract
|
|
54
|
+
in: query
|
|
55
|
+
description: Filter by contract ID
|
|
56
|
+
required: false
|
|
57
|
+
schema:
|
|
58
|
+
type: string
|
|
59
|
+
- name: status
|
|
60
|
+
in: query
|
|
61
|
+
description: Filter by payment status
|
|
62
|
+
required: false
|
|
63
|
+
schema:
|
|
64
|
+
type: string
|
|
65
|
+
enum: ["pending", "paid", "overdue", "cancelled"]
|
|
66
|
+
- name: due_date_from
|
|
67
|
+
in: query
|
|
68
|
+
description: Filter by due date from
|
|
69
|
+
required: false
|
|
70
|
+
schema:
|
|
71
|
+
type: string
|
|
72
|
+
format: date
|
|
73
|
+
- name: due_date_to
|
|
74
|
+
in: query
|
|
75
|
+
description: Filter by due date to
|
|
76
|
+
required: false
|
|
77
|
+
schema:
|
|
78
|
+
type: string
|
|
79
|
+
format: date
|
|
80
|
+
- name: _id
|
|
81
|
+
in: query
|
|
82
|
+
description: Filter by ID
|
|
83
|
+
required: false
|
|
84
|
+
schema:
|
|
85
|
+
type: array
|
|
86
|
+
items:
|
|
87
|
+
type: string
|
|
88
|
+
responses:
|
|
89
|
+
"200":
|
|
90
|
+
description: Successful response
|
|
91
|
+
content:
|
|
92
|
+
application/json:
|
|
93
|
+
schema:
|
|
94
|
+
type: object
|
|
95
|
+
properties:
|
|
96
|
+
success:
|
|
97
|
+
type: boolean
|
|
98
|
+
example: true
|
|
99
|
+
data:
|
|
100
|
+
type: array
|
|
101
|
+
items:
|
|
102
|
+
$ref: "#/components/schemas/ContractInstallment"
|
|
103
|
+
paging:
|
|
104
|
+
$ref: "#/components/schemas/PagingInfo"
|
|
105
|
+
"400":
|
|
106
|
+
$ref: "#/components/responses/BadRequest"
|
|
107
|
+
"401":
|
|
108
|
+
$ref: "#/components/responses/Unauthorized"
|
|
109
|
+
"403":
|
|
110
|
+
$ref: "#/components/responses/Forbidden"
|
|
111
|
+
"500":
|
|
112
|
+
$ref: "#/components/responses/InternalServerError"
|
|
113
|
+
post:
|
|
114
|
+
tags:
|
|
115
|
+
- Contract Installment
|
|
116
|
+
summary: Create a new contract installment
|
|
117
|
+
description: Create a new contract installment
|
|
118
|
+
requestBody:
|
|
119
|
+
required: true
|
|
120
|
+
content:
|
|
121
|
+
application/json:
|
|
122
|
+
schema:
|
|
123
|
+
$ref: "#/components/schemas/CreateContractInstallmentRequest"
|
|
124
|
+
responses:
|
|
125
|
+
"201":
|
|
126
|
+
description: Contract installment created successfully
|
|
127
|
+
content:
|
|
128
|
+
application/json:
|
|
129
|
+
schema:
|
|
130
|
+
type: object
|
|
131
|
+
properties:
|
|
132
|
+
success:
|
|
133
|
+
type: boolean
|
|
134
|
+
example: true
|
|
135
|
+
data:
|
|
136
|
+
$ref: "#/components/schemas/ContractInstallment"
|
|
137
|
+
"400":
|
|
138
|
+
$ref: "#/components/responses/BadRequest"
|
|
139
|
+
"401":
|
|
140
|
+
$ref: "#/components/responses/Unauthorized"
|
|
141
|
+
"403":
|
|
142
|
+
$ref: "#/components/responses/Forbidden"
|
|
143
|
+
"422":
|
|
144
|
+
$ref: "#/components/responses/ValidationError"
|
|
145
|
+
"500":
|
|
146
|
+
$ref: "#/components/responses/InternalServerError"
|
|
147
|
+
/contract-installment/{id}:
|
|
148
|
+
get:
|
|
149
|
+
tags:
|
|
150
|
+
- Contract Installment
|
|
151
|
+
summary: Get contract installment by ID
|
|
152
|
+
description: Retrieve a specific contract installment by its ID
|
|
153
|
+
parameters:
|
|
154
|
+
- name: id
|
|
155
|
+
in: path
|
|
156
|
+
required: true
|
|
157
|
+
description: Contract installment ID
|
|
158
|
+
schema:
|
|
159
|
+
type: string
|
|
160
|
+
responses:
|
|
161
|
+
"200":
|
|
162
|
+
description: Successful response
|
|
163
|
+
content:
|
|
164
|
+
application/json:
|
|
165
|
+
schema:
|
|
166
|
+
type: object
|
|
167
|
+
properties:
|
|
168
|
+
success:
|
|
169
|
+
type: boolean
|
|
170
|
+
example: true
|
|
171
|
+
data:
|
|
172
|
+
$ref: "#/components/schemas/ContractInstallment"
|
|
173
|
+
"400":
|
|
174
|
+
$ref: "#/components/responses/BadRequest"
|
|
175
|
+
"401":
|
|
176
|
+
$ref: "#/components/responses/Unauthorized"
|
|
177
|
+
"403":
|
|
178
|
+
$ref: "#/components/responses/Forbidden"
|
|
179
|
+
"404":
|
|
180
|
+
$ref: "#/components/responses/NotFound"
|
|
181
|
+
"500":
|
|
182
|
+
$ref: "#/components/responses/InternalServerError"
|
|
183
|
+
patch:
|
|
184
|
+
tags:
|
|
185
|
+
- Contract Installment
|
|
186
|
+
summary: Update contract installment
|
|
187
|
+
description: Update an existing contract installment
|
|
188
|
+
parameters:
|
|
189
|
+
- name: id
|
|
190
|
+
in: path
|
|
191
|
+
required: true
|
|
192
|
+
description: Contract installment ID
|
|
193
|
+
schema:
|
|
194
|
+
type: string
|
|
195
|
+
requestBody:
|
|
196
|
+
required: true
|
|
197
|
+
content:
|
|
198
|
+
application/json:
|
|
199
|
+
schema:
|
|
200
|
+
$ref: "#/components/schemas/UpdateContractInstallmentRequest"
|
|
201
|
+
responses:
|
|
202
|
+
"200":
|
|
203
|
+
description: Contract installment updated successfully
|
|
204
|
+
content:
|
|
205
|
+
application/json:
|
|
206
|
+
schema:
|
|
207
|
+
type: object
|
|
208
|
+
properties:
|
|
209
|
+
success:
|
|
210
|
+
type: boolean
|
|
211
|
+
example: true
|
|
212
|
+
data:
|
|
213
|
+
$ref: "#/components/schemas/ContractInstallment"
|
|
214
|
+
"400":
|
|
215
|
+
$ref: "#/components/responses/BadRequest"
|
|
216
|
+
"401":
|
|
217
|
+
$ref: "#/components/responses/Unauthorized"
|
|
218
|
+
"403":
|
|
219
|
+
$ref: "#/components/responses/Forbidden"
|
|
220
|
+
"404":
|
|
221
|
+
$ref: "#/components/responses/NotFound"
|
|
222
|
+
"422":
|
|
223
|
+
$ref: "#/components/responses/ValidationError"
|
|
224
|
+
"500":
|
|
225
|
+
$ref: "#/components/responses/InternalServerError"
|
|
226
|
+
delete:
|
|
227
|
+
tags:
|
|
228
|
+
- Contract Installment
|
|
229
|
+
summary: Delete contract installment
|
|
230
|
+
description: Delete a contract installment by ID
|
|
231
|
+
parameters:
|
|
232
|
+
- name: id
|
|
233
|
+
in: path
|
|
234
|
+
required: true
|
|
235
|
+
description: Contract installment ID
|
|
236
|
+
schema:
|
|
237
|
+
type: string
|
|
238
|
+
responses:
|
|
239
|
+
"200":
|
|
240
|
+
description: Contract installment deleted successfully
|
|
241
|
+
content:
|
|
242
|
+
application/json:
|
|
243
|
+
schema:
|
|
244
|
+
type: object
|
|
245
|
+
properties:
|
|
246
|
+
success:
|
|
247
|
+
type: boolean
|
|
248
|
+
example: true
|
|
249
|
+
"400":
|
|
250
|
+
$ref: "#/components/responses/BadRequest"
|
|
251
|
+
"401":
|
|
252
|
+
$ref: "#/components/responses/Unauthorized"
|
|
253
|
+
"403":
|
|
254
|
+
$ref: "#/components/responses/Forbidden"
|
|
255
|
+
"404":
|
|
256
|
+
$ref: "#/components/responses/NotFound"
|
|
257
|
+
"500":
|
|
258
|
+
$ref: "#/components/responses/InternalServerError"
|
|
259
|
+
/contract-installment/{id}/pay:
|
|
260
|
+
post:
|
|
261
|
+
tags:
|
|
262
|
+
- Contract Installment
|
|
263
|
+
summary: Mark installment as paid
|
|
264
|
+
description: Mark a contract installment as paid
|
|
265
|
+
parameters:
|
|
266
|
+
- name: id
|
|
267
|
+
in: path
|
|
268
|
+
required: true
|
|
269
|
+
description: Contract installment ID
|
|
270
|
+
schema:
|
|
271
|
+
type: string
|
|
272
|
+
requestBody:
|
|
273
|
+
required: true
|
|
274
|
+
content:
|
|
275
|
+
application/json:
|
|
276
|
+
schema:
|
|
277
|
+
type: object
|
|
278
|
+
properties:
|
|
279
|
+
payment_date:
|
|
280
|
+
type: string
|
|
281
|
+
format: date
|
|
282
|
+
description: Date of payment
|
|
283
|
+
payment_amount:
|
|
284
|
+
type: number
|
|
285
|
+
format: float
|
|
286
|
+
description: Amount paid
|
|
287
|
+
payment_method:
|
|
288
|
+
type: string
|
|
289
|
+
description: Payment method used
|
|
290
|
+
enum:
|
|
291
|
+
["cash", "check", "credit_card", "bank_transfer", "other"]
|
|
292
|
+
payment_reference:
|
|
293
|
+
type: string
|
|
294
|
+
description: Payment reference number
|
|
295
|
+
notes:
|
|
296
|
+
type: string
|
|
297
|
+
description: Payment notes
|
|
298
|
+
required:
|
|
299
|
+
- payment_date
|
|
300
|
+
- payment_amount
|
|
301
|
+
responses:
|
|
302
|
+
"200":
|
|
303
|
+
description: Installment marked as paid successfully
|
|
304
|
+
content:
|
|
305
|
+
application/json:
|
|
306
|
+
schema:
|
|
307
|
+
type: object
|
|
308
|
+
properties:
|
|
309
|
+
success:
|
|
310
|
+
type: boolean
|
|
311
|
+
example: true
|
|
312
|
+
data:
|
|
313
|
+
$ref: "#/components/schemas/ContractInstallment"
|
|
314
|
+
"400":
|
|
315
|
+
$ref: "#/components/responses/BadRequest"
|
|
316
|
+
"401":
|
|
317
|
+
$ref: "#/components/responses/Unauthorized"
|
|
318
|
+
"403":
|
|
319
|
+
$ref: "#/components/responses/Forbidden"
|
|
320
|
+
"404":
|
|
321
|
+
$ref: "#/components/responses/NotFound"
|
|
322
|
+
"500":
|
|
323
|
+
$ref: "#/components/responses/InternalServerError"
|
|
324
|
+
/contract-installment/overdue:
|
|
325
|
+
get:
|
|
326
|
+
tags:
|
|
327
|
+
- Contract Installment
|
|
328
|
+
summary: Get overdue installments
|
|
329
|
+
description: Get all overdue contract installments
|
|
330
|
+
parameters:
|
|
331
|
+
- name: page
|
|
332
|
+
in: query
|
|
333
|
+
description: Page number for pagination
|
|
334
|
+
required: false
|
|
335
|
+
schema:
|
|
336
|
+
type: integer
|
|
337
|
+
minimum: 1
|
|
338
|
+
default: 1
|
|
339
|
+
- name: per_page
|
|
340
|
+
in: query
|
|
341
|
+
description: Number of items per page
|
|
342
|
+
required: false
|
|
343
|
+
schema:
|
|
344
|
+
type: integer
|
|
345
|
+
minimum: 1
|
|
346
|
+
maximum: 100
|
|
347
|
+
default: 25
|
|
348
|
+
- name: days_overdue
|
|
349
|
+
in: query
|
|
350
|
+
description: Minimum days overdue
|
|
351
|
+
required: false
|
|
352
|
+
schema:
|
|
353
|
+
type: integer
|
|
354
|
+
minimum: 0
|
|
355
|
+
responses:
|
|
356
|
+
"200":
|
|
357
|
+
description: Overdue installments retrieved successfully
|
|
358
|
+
content:
|
|
359
|
+
application/json:
|
|
360
|
+
schema:
|
|
361
|
+
type: object
|
|
362
|
+
properties:
|
|
363
|
+
success:
|
|
364
|
+
type: boolean
|
|
365
|
+
example: true
|
|
366
|
+
data:
|
|
367
|
+
type: array
|
|
368
|
+
items:
|
|
369
|
+
allOf:
|
|
370
|
+
- $ref: "#/components/schemas/ContractInstallment"
|
|
371
|
+
- type: object
|
|
372
|
+
properties:
|
|
373
|
+
days_overdue:
|
|
374
|
+
type: integer
|
|
375
|
+
description: Number of days overdue
|
|
376
|
+
paging:
|
|
377
|
+
$ref: "#/components/schemas/PagingInfo"
|
|
378
|
+
"400":
|
|
379
|
+
$ref: "#/components/responses/BadRequest"
|
|
380
|
+
"401":
|
|
381
|
+
$ref: "#/components/responses/Unauthorized"
|
|
382
|
+
"403":
|
|
383
|
+
$ref: "#/components/responses/Forbidden"
|
|
384
|
+
"500":
|
|
385
|
+
$ref: "#/components/responses/InternalServerError"
|
|
386
|
+
components:
|
|
387
|
+
securitySchemes:
|
|
388
|
+
ApiKeyAuth:
|
|
389
|
+
type: apiKey
|
|
390
|
+
in: header
|
|
391
|
+
name: Authorization
|
|
392
|
+
description: "Use format: Bearer {api_key}"
|
|
393
|
+
schemas:
|
|
394
|
+
ContractInstallment:
|
|
395
|
+
type: object
|
|
396
|
+
properties:
|
|
397
|
+
_id:
|
|
398
|
+
type: string
|
|
399
|
+
description: Unique identifier
|
|
400
|
+
example: "507f1f77bcf86cd799439011"
|
|
401
|
+
contract:
|
|
402
|
+
type: string
|
|
403
|
+
description: Contract ID reference
|
|
404
|
+
example: "507f1f77bcf86cd799439012"
|
|
405
|
+
installment_number:
|
|
406
|
+
type: integer
|
|
407
|
+
description: Installment sequence number
|
|
408
|
+
example: 1
|
|
409
|
+
due_date:
|
|
410
|
+
type: string
|
|
411
|
+
format: date
|
|
412
|
+
description: Due date for this installment
|
|
413
|
+
example: "2024-01-15"
|
|
414
|
+
amount:
|
|
415
|
+
type: number
|
|
416
|
+
format: float
|
|
417
|
+
description: Installment amount
|
|
418
|
+
example: 1500.00
|
|
419
|
+
currency:
|
|
420
|
+
type: string
|
|
421
|
+
description: Currency code
|
|
422
|
+
example: "USD"
|
|
423
|
+
status:
|
|
424
|
+
type: string
|
|
425
|
+
description: Payment status
|
|
426
|
+
enum: ["pending", "paid", "overdue", "cancelled"]
|
|
427
|
+
example: "pending"
|
|
428
|
+
payment_date:
|
|
429
|
+
type: string
|
|
430
|
+
format: date
|
|
431
|
+
description: Date when payment was made (if paid)
|
|
432
|
+
payment_amount:
|
|
433
|
+
type: number
|
|
434
|
+
format: float
|
|
435
|
+
description: Amount actually paid
|
|
436
|
+
payment_method:
|
|
437
|
+
type: string
|
|
438
|
+
description: Payment method used
|
|
439
|
+
enum: ["cash", "check", "credit_card", "bank_transfer", "other"]
|
|
440
|
+
payment_reference:
|
|
441
|
+
type: string
|
|
442
|
+
description: Payment reference number
|
|
443
|
+
late_fee:
|
|
444
|
+
type: number
|
|
445
|
+
format: float
|
|
446
|
+
description: Late fee charged if overdue
|
|
447
|
+
example: 50.00
|
|
448
|
+
discount_applied:
|
|
449
|
+
type: number
|
|
450
|
+
format: float
|
|
451
|
+
description: Discount applied to this installment
|
|
452
|
+
interest_rate:
|
|
453
|
+
type: number
|
|
454
|
+
format: float
|
|
455
|
+
description: Interest rate for this installment
|
|
456
|
+
example: 5.5
|
|
457
|
+
grace_period_days:
|
|
458
|
+
type: integer
|
|
459
|
+
description: Grace period in days before marking overdue
|
|
460
|
+
example: 5
|
|
461
|
+
reminder_sent:
|
|
462
|
+
type: boolean
|
|
463
|
+
description: Whether payment reminder has been sent
|
|
464
|
+
example: false
|
|
465
|
+
reminder_dates:
|
|
466
|
+
type: array
|
|
467
|
+
items:
|
|
468
|
+
type: string
|
|
469
|
+
format: date-time
|
|
470
|
+
description: Dates when reminders were sent
|
|
471
|
+
auto_pay_enabled:
|
|
472
|
+
type: boolean
|
|
473
|
+
description: Whether auto-pay is enabled for this installment
|
|
474
|
+
example: false
|
|
475
|
+
payment_history:
|
|
476
|
+
type: array
|
|
477
|
+
items:
|
|
478
|
+
type: object
|
|
479
|
+
properties:
|
|
480
|
+
date:
|
|
481
|
+
type: string
|
|
482
|
+
format: date-time
|
|
483
|
+
amount:
|
|
484
|
+
type: number
|
|
485
|
+
format: float
|
|
486
|
+
method:
|
|
487
|
+
type: string
|
|
488
|
+
reference:
|
|
489
|
+
type: string
|
|
490
|
+
notes:
|
|
491
|
+
type: string
|
|
492
|
+
description: History of payment attempts
|
|
493
|
+
notes:
|
|
494
|
+
type: string
|
|
495
|
+
description: Additional notes
|
|
496
|
+
custom_fields:
|
|
497
|
+
type: object
|
|
498
|
+
description: Custom fields for additional data
|
|
499
|
+
company_namespace:
|
|
500
|
+
type: array
|
|
501
|
+
items:
|
|
502
|
+
type: string
|
|
503
|
+
description: Company namespace
|
|
504
|
+
createdAt:
|
|
505
|
+
type: string
|
|
506
|
+
format: date-time
|
|
507
|
+
description: Creation timestamp
|
|
508
|
+
modifiedAt:
|
|
509
|
+
type: string
|
|
510
|
+
format: date-time
|
|
511
|
+
description: Last modification timestamp
|
|
512
|
+
SVClient:
|
|
513
|
+
type: integer
|
|
514
|
+
description: Client version
|
|
515
|
+
__v:
|
|
516
|
+
type: integer
|
|
517
|
+
description: Document version
|
|
518
|
+
required:
|
|
519
|
+
- contract
|
|
520
|
+
- installment_number
|
|
521
|
+
- due_date
|
|
522
|
+
- amount
|
|
523
|
+
- status
|
|
524
|
+
CreateContractInstallmentRequest:
|
|
525
|
+
type: object
|
|
526
|
+
properties:
|
|
527
|
+
contract:
|
|
528
|
+
type: string
|
|
529
|
+
description: Contract ID reference
|
|
530
|
+
example: "507f1f77bcf86cd799439012"
|
|
531
|
+
installment_number:
|
|
532
|
+
type: integer
|
|
533
|
+
description: Installment sequence number
|
|
534
|
+
example: 1
|
|
535
|
+
due_date:
|
|
536
|
+
type: string
|
|
537
|
+
format: date
|
|
538
|
+
description: Due date for this installment
|
|
539
|
+
example: "2024-01-15"
|
|
540
|
+
amount:
|
|
541
|
+
type: number
|
|
542
|
+
format: float
|
|
543
|
+
description: Installment amount
|
|
544
|
+
example: 1500.00
|
|
545
|
+
currency:
|
|
546
|
+
type: string
|
|
547
|
+
description: Currency code
|
|
548
|
+
default: "USD"
|
|
549
|
+
late_fee:
|
|
550
|
+
type: number
|
|
551
|
+
format: float
|
|
552
|
+
description: Late fee charged if overdue
|
|
553
|
+
default: 0
|
|
554
|
+
discount_applied:
|
|
555
|
+
type: number
|
|
556
|
+
format: float
|
|
557
|
+
description: Discount applied to this installment
|
|
558
|
+
default: 0
|
|
559
|
+
interest_rate:
|
|
560
|
+
type: number
|
|
561
|
+
format: float
|
|
562
|
+
description: Interest rate for this installment
|
|
563
|
+
default: 0
|
|
564
|
+
grace_period_days:
|
|
565
|
+
type: integer
|
|
566
|
+
description: Grace period in days before marking overdue
|
|
567
|
+
default: 0
|
|
568
|
+
auto_pay_enabled:
|
|
569
|
+
type: boolean
|
|
570
|
+
description: Whether auto-pay is enabled for this installment
|
|
571
|
+
default: false
|
|
572
|
+
notes:
|
|
573
|
+
type: string
|
|
574
|
+
description: Additional notes
|
|
575
|
+
custom_fields:
|
|
576
|
+
type: object
|
|
577
|
+
description: Custom fields for additional data
|
|
578
|
+
company_namespace:
|
|
579
|
+
type: array
|
|
580
|
+
items:
|
|
581
|
+
type: string
|
|
582
|
+
description: Company namespace
|
|
583
|
+
required:
|
|
584
|
+
- contract
|
|
585
|
+
- installment_number
|
|
586
|
+
- due_date
|
|
587
|
+
- amount
|
|
588
|
+
UpdateContractInstallmentRequest:
|
|
589
|
+
type: object
|
|
590
|
+
properties:
|
|
591
|
+
due_date:
|
|
592
|
+
type: string
|
|
593
|
+
format: date
|
|
594
|
+
description: Due date for this installment
|
|
595
|
+
amount:
|
|
596
|
+
type: number
|
|
597
|
+
format: float
|
|
598
|
+
description: Installment amount
|
|
599
|
+
status:
|
|
600
|
+
type: string
|
|
601
|
+
description: Payment status
|
|
602
|
+
enum: ["pending", "paid", "overdue", "cancelled"]
|
|
603
|
+
payment_date:
|
|
604
|
+
type: string
|
|
605
|
+
format: date
|
|
606
|
+
description: Date when payment was made
|
|
607
|
+
payment_amount:
|
|
608
|
+
type: number
|
|
609
|
+
format: float
|
|
610
|
+
description: Amount actually paid
|
|
611
|
+
payment_method:
|
|
612
|
+
type: string
|
|
613
|
+
description: Payment method used
|
|
614
|
+
enum: ["cash", "check", "credit_card", "bank_transfer", "other"]
|
|
615
|
+
payment_reference:
|
|
616
|
+
type: string
|
|
617
|
+
description: Payment reference number
|
|
618
|
+
late_fee:
|
|
619
|
+
type: number
|
|
620
|
+
format: float
|
|
621
|
+
description: Late fee charged if overdue
|
|
622
|
+
discount_applied:
|
|
623
|
+
type: number
|
|
624
|
+
format: float
|
|
625
|
+
description: Discount applied to this installment
|
|
626
|
+
interest_rate:
|
|
627
|
+
type: number
|
|
628
|
+
format: float
|
|
629
|
+
description: Interest rate for this installment
|
|
630
|
+
grace_period_days:
|
|
631
|
+
type: integer
|
|
632
|
+
description: Grace period in days before marking overdue
|
|
633
|
+
auto_pay_enabled:
|
|
634
|
+
type: boolean
|
|
635
|
+
description: Whether auto-pay is enabled for this installment
|
|
636
|
+
notes:
|
|
637
|
+
type: string
|
|
638
|
+
description: Additional notes
|
|
639
|
+
custom_fields:
|
|
640
|
+
type: object
|
|
641
|
+
description: Custom fields for additional data
|
|
642
|
+
company_namespace:
|
|
643
|
+
type: array
|
|
644
|
+
items:
|
|
645
|
+
type: string
|
|
646
|
+
description: Company namespace
|
|
647
|
+
PagingInfo:
|
|
648
|
+
type: object
|
|
649
|
+
properties:
|
|
650
|
+
total:
|
|
651
|
+
type: integer
|
|
652
|
+
description: Total number of items
|
|
653
|
+
page:
|
|
654
|
+
type: integer
|
|
655
|
+
description: Current page number
|
|
656
|
+
per_page:
|
|
657
|
+
type: integer
|
|
658
|
+
description: Items per page
|
|
659
|
+
pages:
|
|
660
|
+
type: integer
|
|
661
|
+
description: Total number of pages
|
|
662
|
+
responses:
|
|
663
|
+
BadRequest:
|
|
664
|
+
description: Bad request
|
|
665
|
+
content:
|
|
666
|
+
application/json:
|
|
667
|
+
schema:
|
|
668
|
+
type: object
|
|
669
|
+
properties:
|
|
670
|
+
success:
|
|
671
|
+
type: boolean
|
|
672
|
+
example: false
|
|
673
|
+
error:
|
|
674
|
+
type: string
|
|
675
|
+
example: "Invalid request parameters"
|
|
676
|
+
Unauthorized:
|
|
677
|
+
description: Unauthorized
|
|
678
|
+
content:
|
|
679
|
+
application/json:
|
|
680
|
+
schema:
|
|
681
|
+
type: object
|
|
682
|
+
properties:
|
|
683
|
+
success:
|
|
684
|
+
type: boolean
|
|
685
|
+
example: false
|
|
686
|
+
error:
|
|
687
|
+
type: string
|
|
688
|
+
example: "Authentication required"
|
|
689
|
+
Forbidden:
|
|
690
|
+
description: Forbidden
|
|
691
|
+
content:
|
|
692
|
+
application/json:
|
|
693
|
+
schema:
|
|
694
|
+
type: object
|
|
695
|
+
properties:
|
|
696
|
+
success:
|
|
697
|
+
type: boolean
|
|
698
|
+
example: false
|
|
699
|
+
error:
|
|
700
|
+
type: string
|
|
701
|
+
example: "Insufficient permissions"
|
|
702
|
+
NotFound:
|
|
703
|
+
description: Resource not found
|
|
704
|
+
content:
|
|
705
|
+
application/json:
|
|
706
|
+
schema:
|
|
707
|
+
type: object
|
|
708
|
+
properties:
|
|
709
|
+
success:
|
|
710
|
+
type: boolean
|
|
711
|
+
example: false
|
|
712
|
+
error:
|
|
713
|
+
type: string
|
|
714
|
+
example: "Resource not found"
|
|
715
|
+
ValidationError:
|
|
716
|
+
description: Validation error
|
|
717
|
+
content:
|
|
718
|
+
application/json:
|
|
719
|
+
schema:
|
|
720
|
+
type: object
|
|
721
|
+
properties:
|
|
722
|
+
success:
|
|
723
|
+
type: boolean
|
|
724
|
+
example: false
|
|
725
|
+
error:
|
|
726
|
+
type: string
|
|
727
|
+
example: "Validation failed"
|
|
728
|
+
InternalServerError:
|
|
729
|
+
description: Internal server error
|
|
730
|
+
content:
|
|
731
|
+
application/json:
|
|
732
|
+
schema:
|
|
733
|
+
type: object
|
|
734
|
+
properties:
|
|
735
|
+
success:
|
|
736
|
+
type: boolean
|
|
737
|
+
example: false
|
|
738
|
+
error:
|
|
739
|
+
type: string
|
|
740
|
+
example: "Internal server error"
|