# Check-in Ticket API

- Human documentation: https://www.myrepairapp.com/api-docs/checkin-ticket
- OpenAPI: https://www.myrepairapp.com/openapi.json
- Last updated: 2026-07-30T23:33:37.845Z

Integrate with MyRepairApp's ticket management system to create, search, and manage check-in tickets for sales and repairs.

### Important Note:
 It is important that identifier fields like `customer -> id` or `checkinItem -> inventoryItemId` map to existing entities on your store's customer or inventory records (use the customer or inventory APIs to list those).
 
 For `ticket -> assigneeId` or `checkinItem -> assigneeId` the id must correspond to that of a user (you can get it from the assignee object on the ticket search response)

---

## Search Check-in Tickets

Search for tickets by customer name, device details, ticket number, or ticket creation date.

### HTTP Request

```http
GET /api/v2/checkin-ticket?query={search_term}&closed={boolean}
```

### Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `query` | string | Yes | Search term (name, email, device, etc.) |
| `closed` | boolean | No | Fetch closed tickets only (default: false) |

### Searchable Fields

- Ticket number
- Customer name, email, or phone
- Device name, SKU, or serial number
- Creation date (`MM/dd/yyyy` format)

### Example Requests

```bash
# Search by ticket number
curl -X GET "https://www.myrepairapp.com/api/v2/checkin-ticket?query=12345" \
  -H "X-api-key: YOUR_API_KEY"

# Search by customer name
curl -X GET "https://www.myrepairapp.com/api/v2/checkin-ticket?query=John%20Doe" \
  -H "X-api-key: YOUR_API_KEY"

# Search closed tickets
curl -X GET "https://www.myrepairapp.com/api/v2/checkin-ticket?query=repair&closed=true" \
  -H "X-api-key: YOUR_API_KEY"
```

### Response

```json
{
    "tickets": [
        {
            "id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
            "orgId": "org-abcdef-123456",
            "ticketNumber": 2644,
            "active": true,
            "assigneeId": "user-12345678-1234-1234-1234-123456789abc",
            "customerId": "cust-98765432-4321-4321-4321-210987654321",
            "order": null,
            "type": "Repair",
            "status": "Opened",
            "closedAt": null,
            "warrantyPeriodEnd": null,
            "isWarranty": false,
            "isReturn": false,
            "notToExceed": 0,
            "appointmentTime": null,
            "customerPossession": false,
            "storageBin": "",
            "waitingForPart": false,
            "shipper": null,
            "trackingNumber": null,
            "shipstationShipmentId": null,
            "labelURL": null,
            "claimRepairProvider": null,
            "createdAt": "2025-11-18T19:52:18.452Z",
            "updatedAt": "2025-11-18T19:52:18.459Z",
            "assignee": {
                "id": "user-12345678-1234-1234-1234-123456789abc",
                "name": "Your Store Name Here Machine User",
                "email": "",
                "phone": null,
                "hiredOn": null,
                "lastDay": null,
                "password": "",
                "pin": null,
                "akkoSalesRepId": null,
                "payRate": null,
                "maxDiscount": null,
                "discountType": "PERCENTAGE",
                "priceOverride": false,
                "discountCode": null,
                "canAddCredit": false,
                "displayCost": false,
                "displayMetrics": false,
                "editTimeclock": true,
                "addNewInventoryItems": true,
                "editInventoryItems": false,
                "deleteInventoryItems": true,
                "changeGroupInfo": false,
                "editShifts": false,
                "deleteTickets": false,
                "manageMPCustomers": false,
                "createdAt": "2025-05-28T18:28:03.043Z",
                "updatedAt": "2025-05-28T18:28:03.043Z"
            },
            "customer": {
                "id": "cust-98765432-4321-4321-4321-210987654321",
                "storeId": "store-12345678-1234-1234-1234-123456789012",
                "referralSourceId": null,
                "firstName": "John",
                "lastName": "Doe",
                "company": "N/A",
                "primaryPhone": "",
                "contactPhone": "1234567890",
                "email": "john.doe@example.com",
                "driversLicense": null,
                "storeCredit": 0,
                "billingAgent": null,
                "taxExempt": null,
                "netTerms": null,
                "addressId": null,
                "active": true,
                "createdAt": "2025-10-03T19:40:31.849Z",
                "updatedAt": "2025-10-03T19:40:31.849Z",
                "fullName": "John Doe"
            },
            "checkinItems": [
                {
                    "id": "item-11111111-2222-3333-4444-555555555555",
                    "checkinTicketId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                    "invoiceId": null,
                    "inventoryItemId": "inv-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
                    "overriddenPrice": 50,
                    "overriddenCost": null,
                    "originalPrice": 0,
                    "originalCost": 0,
                    "quantity": 1,
                    "discount": 0,
                    "tax": 0,
                    "isTaxOverridden": false,
                    "status": "Sold",
                    "rmaReason": null,
                    "rmaId": null,
                    "returnToInventory": null,
                    "assigneeId": "user-12345678-1234-1234-1234-123456789abc",
                    "bitDefenderCode": null,
                    "formSubmissionId": null,
                    "createdAt": "2025-11-18T19:46:00.206Z",
                    "updatedAt": "2025-11-18T19:52:18.493Z",
                    "parts": [],
                    "inventoryItem": {
                        "id": "inv-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
                        "storeId": "store-12345678-1234-1234-1234-123456789012",
                        "groupingId": null,
                        "sku": "AP-IPHO-11-9371",
                        "manufacturer": "Apple",
                        "category": "Repair",
                        "type": "Repair - Phone",
                        "name": "iPhone 11 Battery Repair",
                        "cost": 0,
                        "inventoried": false,
                        "serialized": false,
                        "instock": 0,
                        "condition": "New",
                        "bin": "",
                        "supplierId": null,
                        "price": 0,
                        "createdAt": "2025-09-25T16:26:55.386Z",
                        "updatedAt": "2025-09-25T16:26:55.386Z",
                        "note": "",
                        "active": true,
                        "serialNum": null,
                        "isRebate": false,
                        "taxFree": false,
                        "repairProvider": null,
                        "tradeinDevice": false,
                        "storage": null,
                        "color": null,
                        "carrier": null,
                        "tradeInCondition": null,
                        "tradeInStatus": null,
                        "additionalInfo": null,
                        "isMotorolaSku": false
                    },
                    "assignee": {
                        "id": "user-12345678-1234-1234-1234-123456789abc",
                        "name": "Your Store Name Here Machine User",
                        "email": "",
                        "phone": null,
                        "hiredOn": null,
                        "lastDay": null,
                        "password": "",
                        "pin": null,
                        "akkoSalesRepId": null,
                        "payRate": null,
                        "maxDiscount": null,
                        "discountType": "PERCENTAGE",
                        "priceOverride": false,
                        "discountCode": null,
                        "canAddCredit": false,
                        "displayCost": false,
                        "displayMetrics": false,
                        "editTimeclock": true,
                        "addNewInventoryItems": true,
                        "editInventoryItems": false,
                        "deleteInventoryItems": true,
                        "changeGroupInfo": false,
                        "editShifts": false,
                        "deleteTickets": false,
                        "manageMPCustomers": false,
                        "createdAt": "2025-05-28T18:28:03.043Z",
                        "updatedAt": "2025-05-28T18:28:03.043Z"
                    },
                    "formSubmission": null
                },
                {
                    "id": "item-66666666-7777-8888-9999-000000000000",
                    "checkinTicketId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                    "invoiceId": null,
                    "inventoryItemId": "inv-bbbbbbbb-cccc-dddd-eeee-ffffffffffff",
                    "overriddenPrice": 11,
                    "overriddenCost": null,
                    "originalPrice": 0,
                    "originalCost": 11.35,
                    "quantity": 1,
                    "discount": 0,
                    "tax": 0.77,
                    "isTaxOverridden": false,
                    "status": "Sold",
                    "rmaReason": null,
                    "rmaId": null,
                    "returnToInventory": null,
                    "assigneeId": "user-12345678-1234-1234-1234-123456789abc",
                    "bitDefenderCode": null,
                    "formSubmissionId": null,
                    "createdAt": "2025-11-18T19:45:55.013Z",
                    "updatedAt": "2025-11-18T19:52:18.493Z",
                    "parts": [],
                    "inventoryItem": {
                        "id": "inv-bbbbbbbb-cccc-dddd-eeee-ffffffffffff",
                        "storeId": "store-12345678-1234-1234-1234-123456789012",
                        "groupingId": null,
                        "sku": "iP11BATT",
                        "manufacturer": "China",
                        "category": "Part",
                        "type": "Part - Phone",
                        "name": "iPhone 11 Battery",
                        "cost": 11.35,
                        "inventoried": true,
                        "serialized": false,
                        "instock": 0,
                        "condition": "New",
                        "bin": "",
                        "supplierId": null,
                        "price": 0,
                        "createdAt": "2025-02-01T14:26:00.177Z",
                        "updatedAt": "2025-03-28T16:34:59.000Z",
                        "note": "",
                        "active": true,
                        "serialNum": null,
                        "isRebate": false,
                        "taxFree": false,
                        "repairProvider": null,
                        "tradeinDevice": false,
                        "storage": null,
                        "color": null,
                        "carrier": null,
                        "tradeInCondition": null,
                        "tradeInStatus": null,
                        "additionalInfo": null,
                        "isMotorolaSku": false
                    },
                    "assignee": {
                        "id": "user-12345678-1234-1234-1234-123456789abc",
                        "name": "Your Store Name Here Machine User",
                        "email": "",
                        "phone": null,
                        "hiredOn": null,
                        "lastDay": null,
                        "password": "",
                        "pin": null,
                        "akkoSalesRepId": null,
                        "payRate": null,
                        "maxDiscount": null,
                        "discountType": "PERCENTAGE",
                        "priceOverride": false,
                        "discountCode": null,
                        "canAddCredit": false,
                        "displayCost": false,
                        "displayMetrics": false,
                        "editTimeclock": true,
                        "addNewInventoryItems": true,
                        "editInventoryItems": false,
                        "deleteInventoryItems": true,
                        "changeGroupInfo": false,
                        "editShifts": false,
                        "deleteTickets": false,
                        "manageMPCustomers": false,
                        "createdAt": "2025-05-28T18:28:03.043Z",
                        "updatedAt": "2025-05-28T18:28:03.043Z"
                    },
                    "formSubmission": null
                }
            ],
            "checkinDevices": [
                {
                    "id": "device-12345678-1234-1234-1234-123456789012",
                    "checkinTicketId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                    "item": "iPhone 11",
                    "serialNumber": "",
                    "password": "",
                    "status": "Opened",
                    "deviceType": "Phone",
                    "model": "",
                    "storage": "256GB",
                    "color": "",
                    "carrier": "",
                    "note": "",
                    "patternLock": "[]",
                    "tradeinDevice": false,
                    "quoteValue": "",
                    "condition": "",
                    "formSubmissionId": null,
                    "completedFormSubmissionId": null,
                    "formSubmission": null,
                    "completedFormSubmission": null
                }
            ],
            "checkinPayments": [
                {
                    "id": "payment-11112222-3333-4444-5555-666677778888",
                    "checkinTicketId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                    "recordedById": "user-12345678-1234-1234-1234-123456789abc",
                    "tipAssigneeId": null,
                    "externalId": null,
                    "externalType": null,
                    "registerId": null,
                    "method": "Cash",
                    "amount": 61.77,
                    "change": 0,
                    "tip": 0,
                    "processingFee": 0,
                    "status": "",
                    "active": true,
                    "refundedAmount": 0,
                    "paymentTransactionChainId": null,
                    "createdAt": "2025-11-18T19:47:04.010Z",
                    "updatedAt": "2025-11-18T19:52:18.459Z",
                    "recordedBy": {
                        "id": "user-12345678-1234-1234-1234-123456789abc",
                        "name": "Your Store Name Here Machine User",
                        "email": "",
                        "phone": null,
                        "hiredOn": null,
                        "lastDay": null,
                        "password": "",
                        "pin": null,
                        "akkoSalesRepId": null,
                        "payRate": null,
                        "maxDiscount": null,
                        "discountType": "PERCENTAGE",
                        "priceOverride": false,
                        "discountCode": null,
                        "canAddCredit": false,
                        "displayCost": false,
                        "displayMetrics": false,
                        "editTimeclock": true,
                        "addNewInventoryItems": true,
                        "editInventoryItems": false,
                        "deleteInventoryItems": true,
                        "changeGroupInfo": false,
                        "editShifts": false,
                        "deleteTickets": false,
                        "manageMPCustomers": false,
                        "createdAt": "2025-05-28T18:28:03.043Z",
                        "updatedAt": "2025-05-28T18:28:03.043Z"
                    }
                }
            ],
            "checkinNotes": [
                {
                    "id": "note-99999999-8888-7777-6666-555555555555",
                    "checkinTicketId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                    "createdById": "user-12345678-1234-1234-1234-123456789abc",
                    "note": "<p>Battery dying, needs replacements</p>",
                    "displayOnInvoice": false,
                    "createdAt": "2025-11-18T19:52:18.459Z",
                    "createdBy": {
                        "id": "user-12345678-1234-1234-1234-123456789abc",
                        "name": "Your Store Name Here Machine User",
                        "email": "",
                        "phone": null,
                        "hiredOn": null,
                        "lastDay": null,
                        "password": "",
                        "pin": null,
                        "akkoSalesRepId": null,
                        "payRate": null,
                        "maxDiscount": null,
                        "discountType": "PERCENTAGE",
                        "priceOverride": false,
                        "discountCode": null,
                        "canAddCredit": false,
                        "displayCost": false,
                        "displayMetrics": false,
                        "editTimeclock": true,
                        "addNewInventoryItems": true,
                        "editInventoryItems": false,
                        "deleteInventoryItems": true,
                        "changeGroupInfo": false,
                        "editShifts": false,
                        "deleteTickets": false,
                        "manageMPCustomers": false,
                        "createdAt": "2025-05-28T18:28:03.043Z",
                        "updatedAt": "2025-05-28T18:28:03.043Z"
                    }
                }
            ],
            "checkinTicketActivities": [
                {
                    "id": "activity-aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
                    "checkinTicketId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                    "userId": "user-12345678-1234-1234-1234-123456789abc",
                    "type": "ITEMS_CHANGED",
                    "metadata": "{\"updateType\":\"Added\",\"itemName\":\"iPhone 11 Battery Repair\",\"itemSku\":\"AP-IPHO-11-9371\"}",
                    "createdAt": "2025-11-18T19:52:18.498Z"
                },
                {
                    "id": "activity-bbbbbbbb-cccc-dddd-eeee-ffffffffffff",
                    "checkinTicketId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                    "userId": "user-12345678-1234-1234-1234-123456789abc",
                    "type": "ITEMS_CHANGED",
                    "metadata": "{\"updateType\":\"Added\",\"itemName\":\"iPhone 11 Battery\",\"itemSku\":\"iP11BATT\"}",
                    "createdAt": "2025-11-18T19:52:18.498Z"
                },
                {
                    "id": "activity-cccccccc-dddd-eeee-ffff-000000000000",
                    "checkinTicketId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                    "userId": "user-12345678-1234-1234-1234-123456789abc",
                    "type": "DEVICES_CHANGED",
                    "metadata": "{\"updateType\":\"Added\",\"device\":{\"item\":\"iPhone 11\",\"serialNumber\":\"\",\"password\":\"\",\"status\":\"Opened\",\"deviceType\":\"Phone\",\"model\":\"\",\"storage\":\"256GB\",\"color\":\"\",\"carrier\":\"\",\"condition\":\"\",\"note\":\"\",\"patternLock\":\"[]\",\"formSubmissionId\":null,\"completedFormSubmissionId\":null,\"quoteValue\":\"\",\"tradeinDevice\":false}}",
                    "createdAt": "2025-11-18T19:52:18.498Z"
                },
                {
                    "id": "activity-dddddddd-eeee-ffff-0000-111111111111",
                    "checkinTicketId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                    "userId": "user-12345678-1234-1234-1234-123456789abc",
                    "type": "CREATION",
                    "metadata": "{\"customer\":\"John Doe\"}",
                    "createdAt": "2025-11-18T19:52:18.498Z"
                }
            ],
            "myProtectionPlans": []
        }
    ]
}
```

---

## Create Check-in Ticket

Create new tickets for sales or repairs. 

### HTTP Request

```http
POST /api/v2/checkin-ticket
```

### Sales Ticket Example


```json
{
  "type": "Sales",
  "customer": {
    "id": "cust-55555555-6666-7777-8888-999999999999",
    "lastName": "Tribiani",
    "firstName": "Joey"
  },
  "checkinItems": [
    {
      "tax": 1.3993,
      "parts": [],
      "status": "Sold",
      "discount": 0,
      "quantity": 1,
      "createdAt": "2025-11-18T20:13:51.469Z",
      "assigneeId": null,
      "originalCost": 1.99,
      "originalPrice": 19.99,
      "inventoryItemId": "inv-cccccccc-dddd-eeee-ffff-111111111111",
      "isTaxOverridden": false,
      "formSubmissionId": null
    }
  ],
  "checkinPayments": [
    {
      "tip": 0,
      "amount": 21.39,
      "change": 0,
      "method": "Card",
      "status": "N/A",
      "createdAt": "2025-11-18T20:14:02.198Z",
      "externalId": null,
      "registerId": null,
      "externalType": null,
      "processingFee": 0,
      "tipAssigneeId": null,
      "refundedAmount": 0,
      "paymentTransactionChainId": null
    }
  ],
  "formSubmissionId": [],
  "myProtectionPlans": []
}
```

### Repair Ticket Example


```json
{
    "type": "Repair",
    "storageBin": "",
    "initialNote": {
        "note": "<p>Battery dying, needs replacement</p>",
        "displayOnInvoice": false
    },
    "notToExceed": 0,
    "customer": {
        "id": "cust-77777777-8888-9999-0000-111111111111",
        "lastName": "Doe",
        "firstName": "John"
    },
    "checkinItems": [
        {
            "tax": 0.77,
            "parts": [],
            "status": "Sold",
            "discount": 0,
            "quantity": 1,
            "createdAt": "2025-11-18T19:45:55.013Z",
            "assigneeId": null,
            "originalCost": 11.35,
            "originalPrice": 0,
            "inventoryItemId": "inv-dddddddd-eeee-ffff-0000-222222222222",
            "isTaxOverridden": false,
            "overriddenPrice": 11,
            "formSubmissionId": null
        },
        {
            "tax": 0,
            "parts": [],
            "status": "Sold",
            "discount": 0,
            "quantity": 1,
            "createdAt": "2025-11-18T19:46:00.206Z",
            "assigneeId": null,
            "originalCost": 0,
            "originalPrice": 0,
            "inventoryItemId": "inv-eeeeeeee-ffff-0000-1111-333333333333",
            "isTaxOverridden": false,
            "overriddenPrice": 50,
            "formSubmissionId": null
        }
    ],
    "checkinDevices": [
        {
            "item": "iPhone 11",
            "note": "",
            "color": "",
            "model": "",
            "status": "Opened",
            "carrier": "",
            "storage": "256GB",
            "password": "",
            "condition": "",
            "deviceType": "Phone",
            "quoteValue": "",
            "patternLock": "[]",
            "serialNumber": "",
            "tradeinDevice": false,
            "formSubmissionId": null,
            "completedFormSubmissionId": null
        }
    ],
    "trackingNumber": "",
    "waitingForPart": false,
    "checkinPayments": [
        {
            "tip": 0,
            "amount": 61.77,
            "change": 0,
            "method": "Cash",
            "status": "",
            "createdAt": "2025-11-18T19:47:04.010Z",
            "externalId": null,
            "registerId": null,
            "externalType": null,
            "processingFee": 0,
            "tipAssigneeId": null,
            "refundedAmount": 0,
            "paymentTransactionChainId": null
        }
    ],
    "formSubmissionId": [],
    "myProtectionPlans": [],
    "customerPossession": false
}
```


### Required Fields

| Ticket Type | Required Fields |
|-------------|-----------------|
| **Sales** | `type` |
| **Repair** | `type`, `notToExceed`, `customerPossession`, `waitingForPart` |

### Response

```json
{
    "createdTicket": {
        "id": "ticket-new-12345678-1234-1234-1234-123456789012",
        "orgId": "org-abcdef-123456",
        "ticketNumber": 2646,
        "active": true,
        "assigneeId": "user-12345678-1234-1234-1234-123456789abc",
        "customerId": "cust-55555555-6666-7777-8888-999999999999",
        "order": null,
        "type": "Sales",
        "status": "Opened",
        "closedAt": null,
        "warrantyPeriodEnd": null,
        "isWarranty": false,
        "isReturn": false,
        "notToExceed": null,
        "appointmentTime": null,
        "customerPossession": null,
        "storageBin": null,
        "waitingForPart": null,
        "shipper": null,
        "trackingNumber": null,
        "shipstationShipmentId": null,
        "labelURL": null,
        "claimRepairProvider": null,
        "createdAt": "2025-11-18T20:17:06.717Z",
        "updatedAt": "2025-11-18T20:17:06.723Z"
    }
}
```

---

## Update Check-in Ticket

Update existing tickets. Two update modes are available:

### HTTP Request

```http
PATCH /api/v2/checkin-ticket/{ticketId}
```

### 1. Status Change Mode

Use when updating ticket status (e.g closing) or changing assignees on ticket or items (contains status field on request body, even if not editing the status specifically):

```json
{
  "status": "ReadyForPickup",
  "assigneeId": "user-abcdef12-3456-7890-abcd-ef1234567890"
}
```

### 2. Field Edit Mode

Use when updating ticket details like items, parts, customer or devices (does not contain status field on the request body):

```json
{
    "type": "Sales",
    "updateKey": 4114996984045216,
    "checkinItems": [
        {
            "tax": 7,
            "parts": [],
            "status": "Sold",
            "discount": 0,
            "quantity": 1,
            "createdAt": "2025-11-18T20:48:53.556Z",
            "assigneeId": null,
            "originalCost": 0,
            "originalPrice": 0,
            "inventoryItemId": "inv-ffffffff-0000-1111-2222-444444444444",
            "isTaxOverridden": false,
            "overriddenPrice": 100,
            "formSubmissionId": null
        }
    ],
    "checkinPayments": [],
    "myProtectionPlans": []
}
```

### ⚠️ Important: Update Behavior When Editing Fields

When the ticket update, the API logic calculates the difference between the current ticket state in our system and the request you sent in, then modifies the state to reflect your request by "overwriting" it. 

This means if you want to add a customer to a ticket, in addition to your customer object you must also include all of the data you would get on the ticket GET endpoint otherwise you risk erasing that information from your ticket.

THe same logic applies to arrays, when updating them (items, devices, payments), the API replaces the entire array. Include all existing items you want to keep.

**Example - Adding an item while keeping existing:**

```json
{
  // ...other ticket fields
  "checkinItems": [
    {
      "id": "EXISTING_ITEM_001",
      "tax": 9,
      "parts": [],
      "status": "Sold",
      "discount": 0,
      "quantity": 1,
      "createdAt": "2025-11-18T20:48:53.556Z",
      "originalCost": 0,
      "originalPrice": 0,
      "inventoryItemId": "INV001"
    },
    {
      "tax": 9,
      "parts": [],
      "status": "Sold",
      "discount": 0,
      "quantity": 1,
      "createdAt": "2025-11-18T20:48:53.556Z",
      "originalCost": 0,
      "originalPrice": 0,
      "inventoryItemId": "INV002"
    }
  ]
}
```

---

## Delete Check-in Ticket

Permanently delete a check-in ticket.

### HTTP Request

```http
DELETE /api/v2/checkin-ticket/{ticketId}
```

### Response

```json
{
  "success": true,
  "deletedTicket": {
    "id": "ticket-delete-12345678-1234-1234-1234-123456789012",
    "orgId": "org-abcdef-123456",
    "ticketNumber": 2645,
    "active": false,
    "assigneeId": "user-12345678-1234-1234-1234-123456789abc",
    "customerId": null,
    "order": null,
    "type": "Sales",
    "status": "ReadyForPickup",
    "closedAt": null,
    "warrantyPeriodEnd": null,
    "isWarranty": false,
    "isReturn": false,
    "notToExceed": null,
    "appointmentTime": null,
    "customerPossession": null,
    "storageBin": null,
    "waitingForPart": false,
    "shipper": null,
    "trackingNumber": null,
    "shipstationShipmentId": null,
    "labelURL": null,
    "claimRepairProvider": null,
    "createdAt": "2025-11-18T20:14:26.007Z",
    "updatedAt": "2025-11-18T21:11:20.184Z"
  }
}
```

---

## Add Note to Ticket

Add notes to existing tickets.

### HTTP Request

```http
POST /api/v2/checkin-ticket/{ticketId}/note
```

### Request

```json
{
  "note": "Customer called for status update. Parts expected tomorrow.",
  "displayOnInvoice": false
}
```

### Response

```json
{
    "id": "note-new-12345678-1234-1234-1234-123456789012",
    "checkinTicketId": "ticket-new-12345678-1234-1234-1234-123456789012",
    "createdById": "user-12345678-1234-1234-1234-123456789abc",
    "note": "Customer called for status update. Parts expected tomorrow.",
    "displayOnInvoice": false,
    "createdAt": "2025-11-18T21:26:05.254Z",
    "createdBy": {
        "name": "Your Store Name Here Machine User",
        "email": ""
    }
}
```

---

## ⚠️ Error Handling

### Common Error Responses

**400 - Validation Error**

```json
{
  "success": false,
  "errors": [
    {
      "code": "invalid_union_discriminator",
      "options": [
        "Sales",
        "Repair"
      ],
      "path": [
        "type"
      ],
      "message": "Invalid discriminator value. Expected 'Sales' | 'Repair'"
    }
  ]
}
```

**401 - Unauthorized**

```json
"Unauthorized"
```
