Sindbad~EG File Manager

Current Path : /home/infinitibizsol/insurcrm.infinitibizsol.com/docs/common/
Upload File :
Current File : /home/infinitibizsol/insurcrm.infinitibizsol.com/docs/common/claim.js

/**
 * @swagger
 * components:
 *   schemas:
 *     Claim:
 *       type: object
 *       properties:
 *         claim_info:
 *           type: object
 *           properties:
 *             claim_no:
 *               type: number
 *               description: The claim number
 *             claim_status:
 *               type: string
 *               default: "other"
 *               description: The status of the claim
 *             claim_type:
 *               type: string
 *               description: The type of claim
 *             date_opened:
 *               type: string
 *               description: The date when the claim was opened
 *             date_of_loss:
 *               type: string
 *               description: The date when the loss occurred
 *             date_reported:
 *               type: string
 *               description: The date when the claim was reported
 *             coverage:
 *               type: string
 *               description: Coverage details of the claim
 *             date_closed:
 *               type: string
 *               description: The date the claim was closed
 *             disputed_suit_pending:
 *               type: boolean
 *               default: false
 *               description: Whether there is a disputed suit pending
 *             charge_able_to_company:
 *               type: boolean
 *               default: false
 *               description: Whether the charge is payable by the company
 *             amount_of_loss:
 *               type: number
 *               description: The amount of loss claimed
 *             amount_salvaged:
 *               type: number
 *               description: The amount that was salvaged
 *             amount_reserved:
 *               type: number
 *               description: The reserved amount for the claim
 *             amount_paid:
 *               type: number
 *               description: The amount paid out for the claim
 *         location_of_loss:
 *           type: object
 *           properties:
 *             street:
 *               type: string
 *               description: Street where the loss occurred
 *             city:
 *               type: string
 *               description: City where the loss occurred
 *             state_or_province:
 *               type: string
 *               description: State or province where the loss occurred
 *             zip_code:
 *               type: number
 *               description: Zip code of the loss location
 *             country:
 *               type: string
 *               description: Country where the loss occurred
 *             location_of_loss_description:
 *               type: string
 *               description: Additional description of the loss location
 *         insured_vehicle:
 *           type: object
 *           properties:
 *             year:
 *               type: string
 *               description: Year of the insured vehicle
 *             make:
 *               type: string
 *               description: Make of the insured vehicle
 *             model:
 *               type: string
 *               description: Model of the insured vehicle
 *             vin:
 *               type: string
 *               description: Vehicle identification number
 *             vehicle_type:
 *               type: string
 *               description: Type of the vehicle
 *             incident_description:
 *               type: string
 *               description: Description of the incident involving the vehicle
 *             damage_description:
 *               type: string
 *               description: Description of the damages to the vehicle
 *         claim_parties:
 *           type: array
 *           items:
 *             type: object
 *             properties:
 *               full_name:
 *                 type: string
 *                 description: Full name of the party involved
 *               phone_no:
 *                 type: string
 *                 description: Phone number of the party
 *               email:
 *                 type: string
 *                 description: Email of the party
 *               party_type:
 *                 type: string
 *                 default: "other"
 *                 description: Type of the party involved
 *         claim_payments:
 *           type: array
 *           items:
 *             type: object
 *             properties:
 *               date:
 *                 type: string
 *                 description: Date of the payment
 *               check_no:
 *                 type: string
 *                 description: Check number of the payment
 *               amount:
 *                 type: number
 *                 description: Amount of the payment
 *               comments:
 *                 type: string
 *                 description: Comments regarding the payment
 *         contact_id:
 *           type: string
 *           description: Reference to the associated contact
 *         policy_id:
 *           type: string
 *           description: Reference to the associated contact
 *       example:
 *         claim_info:
 *           claim_no: 123456
 *           claim_status: "open"
 *           claim_type: "collision"
 *           date_opened: "2023-01-15"
 *           date_of_loss: "2023-01-12"
 *           date_reported: "2023-01-13"
 *           coverage: "Full coverage"
 *           date_closed: "2023-01-12"
 *           disputed_suit_pending: false
 *           charge_able_to_company: true
 *           amount_of_loss: 10000
 *           amount_salvaged: 2000
 *           amount_reserved: 3000
 *           amount_paid: 5000
 *         location_of_loss:
 *           street: "123 Main St"
 *           city: "Anytown"
 *           state_or_province: "AnyState"
 *           zip_code: 12345
 *           country: "USA"
 *           location_of_loss_description: "Near intersection"
 *         insured_vehicle:
 *           year: "2020"
 *           make: "Toyota"
 *           model: "Camry"
 *           vin: "1HGBH41JXMN109186"
 *           vehicle_type: "Sedan"
 *           incident_description: "Rear-end collision"
 *           damage_description: "Rear bumper damaged"
 *         claim_parties:
 *           - full_name: "John Doe"
 *             phone_no: "555-555-5555"
 *             email: "johndoe@example.com"
 *             party_type: "insured"
 *         claim_payments:
 *           - date: "2023-02-01"
 *             check_no: "1001"
 *             amount: 5000
 *             comments: "Partial payment"
 *         contact_id: "666a1adb4a817baa96f0387a"
 *         policy_id: "666a1adb4a817baa96f0387a"
 */
/**
 * @swagger
 * tags:
 *   - name: Claim
 *     description: Claim related operations
 */

/**
 * @swagger
 * /claim/list:
 *   get:
 *     summary: Returns the list of claims. NOTE *contact_id & policy_id is required*
 *     tags: [Claim]
 *     security:
 *       - bearerAuth: []
 *     parameters:
 *       - in: query
 *         name: contact_id
 *         schema:
 *           type: string
 *         required: false
 *         description: ID of the contact
 *     responses:
 *       200:
 *         description: The list of addresses
 *         content:
 *           application/json:
 *             schema:
 *               type: array
 *               items:
 *                 $ref: '#/components/schemas/Claim'
 */

/**
 * @swagger
 * /claim/add:
 *   post:
 *     summary: Create a new claim.
 *     description: |
 *       - To add claim information, follow these guidelines:
 *         * For **Contact/Customer**, provide `contact_id`.
 *         * For **User/Agent**:
 *           - When accessing another agent's profile, provide `user_id` in request body.
 *           - For the logged-in agent, `user_id` will be automatically obtained from the JWT token.
 *     tags: [Claim]
 *     security:
 *       - bearerAuth: []
 *     requestBody:
 *       required: true
 *       content:
 *         application/json:
 *           schema:
 *             $ref: '#/components/schemas/Claim'
 *     responses:
 *       201:
 *         description: The claim was successfully created
 *         content:
 *           application/json:
 *             schema:
 *               $ref: '#/components/schemas/Claim'
 */

/**
 * @swagger
 * /claim/edit/{id}:
 *   put:
 *     summary: Update the claim by ID
 *     tags: [Claim]
 *     security:
 *       - bearerAuth: []
 *     parameters:
 *       - in: path
 *         name: id
 *         schema:
 *           type: string
 *         required: true
 *         description: The claim ID
 *     requestBody:
 *       required: true
 *       content:
 *         application/json:
 *           schema:
 *             $ref: '#/components/schemas/Claim'
 *     responses:
 *       200:
 *         description: The claim was successfully updated
 *         content:
 *           application/json:
 *             schema:
 *               $ref: '#/components/schemas/UpdateResponse'
 */

/**
 * @swagger
 * /claim/delete/{id}:
 *   delete:
 *     summary: Delete the claim by ID
 *     tags: [Claim]
 *     security:
 *       - bearerAuth: []
 *     parameters:
 *       - in: path
 *         name: id
 *         schema:
 *           type: string
 *         required: true
 *         description: The claim ID
 *     responses:
 *       200:
 *         description: The claim was successfully deleted
 *         content:
 *           application/json:
 *             schema:
 *               $ref: '#/components/schemas/DeleteResponse'
 
 */
"use strict";

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists