{
    "openapi": "3.0.1",
    "info": {
        "title": "Customer Experience Gateway",
        "description": "## Get Started\n\nCustomer Experience Gateway is a REST API which provides third-party systems data on the state of a customer/subscriber so that aspects of that customer/subscriber can be managed in the third-party system. By providing some of the data BroadHub has about a customer/subscriber, third-party systems can eliminate some of the reasons a customer/subscriber would call or look for help online and provide a more personalized experience to them while reducing the number of calls that need to get to a customer service representative (CSR). API enables the ability to perform some BroadHub actions such as rescheduling and canceling work orders and refreshing equipment. \n\n## Features\nThe API will need to provide data for the following data points in BroadHub when requested by a third-party integrator. REST will need to be used for the data communication:\n\n- Subscriber Lookup\n- Customer/Subscriber Information\n  - Payment Information\n  - Promise-to-Pay (PTP) Information  \n  - Equipment Information  \n  - Soft-Disconnect Information  \n- Home Lookup\n- Homes Passed Information\n- Equipment Actions\n- Work Order Information\n- Work Order Rescheduling/Canceling\n- Outage Information\n- Outage Actions (Create, Update, and Cancel)\n\n## Authentication\nCustomer Experience Gateway uses Basic Authentication. Basic authentication is a simple authentication scheme built into the HTTP protocol. The client sends HTTP requests with the Authorization header that contains the word Basic followed by a space and a base64-encoded string username:password. For example, to authorize as demo / p@55w0rd the client would send\n\n```json\nAuthorization: Basic ZGVtbzpwQDU1dzByZA==\n```\n\nNote: Because base64 is easily decoded, HTTPS/SSL must be used.\n\n## Use Case Diagrams\n\n[Diagrams](https://www.glds.com/files/ceg_diagrams.pdf)\n\n## Date and Time Formats\n\n- date – full-date notation as defined by [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6), for example, 2017-07-21\n- date-time – the date-time notation as defined by [RFC 3339, section 5.6](https://tools.ietf.org/html/rfc3339#section-5.6), for example, 2017-07-21T17:32:28Z",
        "contact": {
            "name": "",
            "url": "https://www.glds.com/contact/",
            "email": "support@glds.com"
        },
        "version": "v1.0"
    },
    "servers": [
        {
            "url": "https://bhas.glds.com:15920/customer-experience-gateway/v1"
        }
    ],
    "tags": [
        {
            "name": "Subscriber",
            "description": "Customer/Subscriber Information"
        },
        {
            "name": "Equipment",
            "description": "Integrators want to perform actions on equipment that CSR’s can perform in BroadHub to reduce the need of swivel chair for operators that manage subscribers in a CRM or ticketing system, and reduce the need for a subscriber to talk to a CSR to perform the equipment actions when calling into an operators Interactive Voice Response (IVR) system."
        },
        {
            "name": "Home",
            "description": "Homes Passed Information"
        },
        {
            "name": "Work Orders",
            "description": "Integrators want the ability to reschedule and cancel work orders to reduce the need of swivel chair for operators that manage subscribers in a CRM or ticketing system, and reduce the need for a subscriber to talk to a CSR to reschedule or cancel a work order when calling into an operators IVR system. Work Order types will need to be configurable in BroadHub to which types can be rescheduled and/or canceled via this API."
        },
        {
            "name": "Outages",
            "description": "Integrators want the ability to declare or cancel an outage in BroadHub to reduce the need of swivel chair for operators that manage subscribers in a CRM or ticketing system. Some integrators will be the source of the outage information, so the ability to automatically pass that information to BroadHub eliminates someone manually having to create or cancel an outage in BroadHub. BroadHub will need to be able to create outages based on a subscriber BroadHub account # or list of subscribers BroadHub account #’s and provide a unique identifier for the outage created back to the integrator so that integrator can later update or cancel the outage if needed using the unique identifier."
        },
        {
            "name": "Other",
            "description": "Access other data"
        }
    ],
    "paths": {
        "/subscriber/search": {
            "get": {
                "tags": [
                    "Subscriber"
                ],
                "summary": "Lookup subscriber",
                "description": "Lookup subscriber",
                "operationId": "SubscriberLookup",
                "parameters": [
                    {
                        "name": "ExternalID",
                        "in": "query",
                        "description": "External ID",
                        "schema": {
                            "maxLength": 40,
                            "type": "string",
                            "minLength": 1
                        }
                    },
                    {
                        "name": "PhoneNumber",
                        "in": "query",
                        "description": "Unformated phone number without country code",
                        "schema": {
                            "maxLength": 15,
                            "type": "string",
                            "example": "7606021916",
                            "pattern": "^[0-9]+",
                            "minLength": 1
                        }
                    },
                    {
                        "name": "DL",
                        "in": "query",
                        "description": "Driver's license",
                        "schema": {
                            "maxLength": 16,
                            "type": "string",
                            "minLength": 1,
                            "pattern": "^[A-Z0-9- ]+"
                        }
                    },
                    {
                        "name": "SSN",
                        "in": "query",
                        "description": "Social security number",
                        "schema": {
                            "maxLength": 16,
                            "type": "string",
                            "minLength": 1,
                            "pattern": "^[A-Z0-9- ]+"
                        }
                    },
                    {
                        "name": "LookupCode",
                        "in": "query",
                        "description": "PPV Lookup Code, unique per subscriber record",
                        "schema": {
                            "maxLength": 10,
                            "type": "string",
                            "minLength": 1
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "Account": {
                                                "type": "string",
                                                "maxLength": 9,
                                                "minLength": 6,
                                                "description": "Subscriber Account #",
                                                "example": "123456203",
                                                "pattern": "^[0-9]+"
                                            },
                                            "AccountName": {
                                                "maxLength": 255,
                                                "type": "string",
                                                "description": "Account Name (first and last name when residential/the business name when commercial)",
                                                "example": "Roxanne Hunn"
                                            },
                                            "ServiceAddress": {
                                                "maxLength": 765,
                                                "type": "string",
                                                "description": "Service Address",
                                                "example": "721 Kimball Terrace San Ysidro CA 94636-9101"
                                            }
                                        },
                                        "required": [
                                            "Account",
                                            "AccountName",
                                            "ServiceAddress"
                                        ]
                                    }
                                },
                                "examples": {
                                    "example": {
                                        "value": [
                                            {
                                                "Account": "123456203",
                                                "AccountName": "Roxanne Hunn",
                                                "ServiceAddress": "721 Kimball Terrace San Ysidro CA 94636-9101"
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "Subscriber Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2155",
                                            "errorMessage": "Subscriber Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/subscriber/{ACCOUNT}": {
            "get": {
                "tags": [
                    "Subscriber"
                ],
                "summary": "Get subscriber",
                "description": "Get subscriber",
                "operationId": "GetSubscriber",
                "parameters": [
                    {
                        "name": "ACCOUNT",
                        "in": "path",
                        "description": "Subscriber Account #",
                        "required": true,
                        "schema": {
                            "maxLength": 9,
                            "minLength": 6,
                            "type": "string",
                            "pattern": "^[0-9]+",
                            "example": "123456203"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "Account": {
                                            "maxLength": 9,
                                            "minLength": 6,
                                            "type": "string",
                                            "description": "Subscriber Account #",
                                            "example": "123456203"
                                        },
                                        "SubscriberStatus": {
                                            "type": "object",
                                            "description": "Subscriber Status",
                                            "required": [
                                                "Code",
                                                "Name",
                                                "BaseCustStatus"
                                            ],
                                            "properties": {
                                                "Code": {
                                                    "maxLength": 3,
                                                    "minLength": 3,
                                                    "type": "string",
                                                    "example": "ACT"
                                                },
                                                "Name": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "example": "Active"
                                                },
                                                "BaseCustStatus": {
                                                    "type": "integer",
                                                    "description": "Value | Description \n ---------|---------- \n173 | Active\n174 | Inactive\n177 | Inactive Written Off\n237 | Inactive Collections",
                                                    "enum": [
                                                        173,
                                                        174,
                                                        177,
                                                        237
                                                    ]
                                                }
                                            }
                                        },
                                        "SubscriberType": {
                                            "type": "object",
                                            "description": "Type (residential/commercial)",
                                            "required": [
                                                "Code",
                                                "Name"
                                            ],
                                            "properties": {
                                                "Code": {
                                                    "maxLength": 3,
                                                    "minLength": 3,
                                                    "type": "string",
                                                    "example": "RES"
                                                },
                                                "Name": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "example": "Residential"
                                                }
                                            }
                                        },
                                        "AccountName": {
                                            "maxLength": 255,
                                            "type": "string",
                                            "description": "Account Name (first and last name when residential/the business name when commercial)",
                                            "example": "Roxanne Hunn"
                                        },
                                        "FirstName": {
                                            "type": "string",
                                            "maxLength": 40,
                                            "description": "Empty for commercial account type. Field is populated starting from BH v2.5.93.0",
                                            "example": "Roxanne"
                                        },
                                        "SecondName": {
                                            "type": "string",
                                            "description": "Empty for commercial account type. Field is populated starting from BH v2.5.93.0",
                                            "maxLength": 20
                                        },
                                        "LastName": {
                                            "type": "string",
                                            "maxLength": 80,
                                            "description": "Required for residential account type subscriber, empty for commercial type. Field is populated starting from BH v2.5.93.0",
                                            "example": "Hunn"
                                        },
                                        "PhoneNumbers": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "PhoneNumber": {
                                                        "maxLength": 20,
                                                        "type": "string",
                                                        "description": "Phone Number",
                                                        "example": "(760) 385-4792"
                                                    },
                                                    "PhoneNumberType": {
                                                        "required": [
                                                            "Code",
                                                            "Name"
                                                        ],
                                                        "type": "object",
                                                        "properties": {
                                                            "Code": {
                                                                "maxLength": 3,
                                                                "minLength": 3,
                                                                "type": "string",
                                                                "example": "HOM"
                                                            },
                                                            "Name": {
                                                                "maxLength": 40,
                                                                "type": "string",
                                                                "example": "Home"
                                                            }
                                                        },
                                                        "description": "Phone Number Type"
                                                    }
                                                }
                                            }
                                        },
                                        "BillingEmail": {
                                            "maxLength": 255,
                                            "type": "string",
                                            "description": "Billing email",
                                            "example": "name@provider.com"
                                        },
                                        "ServiceAddress": {
                                            "required": [
                                                "DropConnected",
                                                "Franchise",
                                                "HeadEnd",
                                                "Hub",
                                                "PropertyType",
                                                "TechRegion",
                                                "VoIPRateCenter",
                                                "Wired"
                                            ],
                                            "type": "object",
                                            "properties": {
                                                "FullAddress": {
                                                    "maxLength": 765,
                                                    "type": "string",
                                                    "example": "721 Kimball Terrace San Ysidro CA 94636-9101"
                                                },
                                                "City": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "example": "San Ysidro"
                                                },
                                                "State": {
                                                    "maxLength": 3,
                                                    "type": "string",
                                                    "example": "CA"
                                                },
                                                "ZIP": {
                                                    "maxLength": 20,
                                                    "type": "string",
                                                    "description": "Zip Code",
                                                    "example": "94636"
                                                },
                                                "ZIPPlus4": {
                                                    "maxLength": 20,
                                                    "type": "string",
                                                    "description": "Zip Plus 4",
                                                    "example": "94636-9101"
                                                },
                                                "BlockFIPS": {
                                                    "maxLength": 15,
                                                    "type": "string",
                                                    "description": "15-digit census block FIPS code",
                                                    "example": "060730176041014"
                                                },
                                                "Franchise": {
                                                    "required": [
                                                        "Code",
                                                        "Name"
                                                    ],
                                                    "type": "object",
                                                    "properties": {
                                                        "Code": {
                                                            "maxLength": 3,
                                                            "minLength": 3,
                                                            "type": "string",
                                                            "example": "001"
                                                        },
                                                        "Name": {
                                                            "maxLength": 40,
                                                            "type": "string",
                                                            "example": "South Park1"
                                                        }
                                                    },
                                                    "description": "Franchise"
                                                },
                                                "PropertyType": {
                                                    "required": [
                                                        "Code",
                                                        "Name"
                                                    ],
                                                    "type": "object",
                                                    "properties": {
                                                        "Code": {
                                                            "maxLength": 3,
                                                            "minLength": 3,
                                                            "type": "string",
                                                            "example": "RES"
                                                        },
                                                        "Name": {
                                                            "maxLength": 40,
                                                            "type": "string",
                                                            "example": "Residential"
                                                        }
                                                    },
                                                    "description": "Property Type"
                                                },
                                                "HeadEnd": {
                                                    "required": [
                                                        "Code",
                                                        "Name"
                                                    ],
                                                    "type": "object",
                                                    "properties": {
                                                        "Code": {
                                                            "maxLength": 3,
                                                            "minLength": 3,
                                                            "type": "string",
                                                            "example": "HTS"
                                                        },
                                                        "Name": {
                                                            "maxLength": 40,
                                                            "type": "string",
                                                            "example": "Hits"
                                                        }
                                                    },
                                                    "description": "Head End"
                                                },
                                                "Hub": {
                                                    "required": [
                                                        "Code",
                                                        "Name"
                                                    ],
                                                    "type": "object",
                                                    "properties": {
                                                        "Code": {
                                                            "maxLength": 3,
                                                            "minLength": 3,
                                                            "type": "string",
                                                            "example": "HTS"
                                                        },
                                                        "Name": {
                                                            "maxLength": 40,
                                                            "type": "string",
                                                            "example": "Hits"
                                                        }
                                                    },
                                                    "description": "Hub"
                                                },
                                                "Node": {
                                                    "required": [
                                                        "Code",
                                                        "Name"
                                                    ],
                                                    "type": "object",
                                                    "properties": {
                                                        "Code": {
                                                            "maxLength": 3,
                                                            "minLength": 3,
                                                            "type": "string",
                                                            "example": "005"
                                                        },
                                                        "Name": {
                                                            "maxLength": 40,
                                                            "type": "string",
                                                            "example": "005"
                                                        }
                                                    },
                                                    "description": "Node"
                                                },
                                                "VoIPRateCenter": {
                                                    "required": [
                                                        "Code",
                                                        "Name"
                                                    ],
                                                    "type": "object",
                                                    "properties": {
                                                        "Code": {
                                                            "maxLength": 3,
                                                            "minLength": 3,
                                                            "type": "string",
                                                            "example": "DRC"
                                                        },
                                                        "Name": {
                                                            "maxLength": 40,
                                                            "type": "string",
                                                            "example": "Default"
                                                        }
                                                    },
                                                    "description": "VoIP Rate Center"
                                                },
                                                "DropTag": {
                                                    "maxLength": 10,
                                                    "type": "string",
                                                    "description": "Drop Tag",
                                                    "example": "LM89546"
                                                },
                                                "Wired": {
                                                    "type": "boolean",
                                                    "description": "Wired"
                                                },
                                                "DropConnected": {
                                                    "type": "boolean",
                                                    "description": "Drop Connected"
                                                },
                                                "TechRegion": {
                                                    "required": [
                                                        "Code",
                                                        "Name"
                                                    ],
                                                    "type": "object",
                                                    "properties": {
                                                        "Code": {
                                                            "maxLength": 3,
                                                            "minLength": 3,
                                                            "type": "string",
                                                            "example": "TRD"
                                                        },
                                                        "Name": {
                                                            "maxLength": 40,
                                                            "type": "string",
                                                            "example": "Default Tech Region"
                                                        }
                                                    },
                                                    "description": "Tech Region"
                                                },
                                                "SalesArea": {
                                                    "required": [
                                                        "Code",
                                                        "Name"
                                                    ],
                                                    "type": "object",
                                                    "properties": {
                                                        "Code": {
                                                            "maxLength": 3,
                                                            "minLength": 3,
                                                            "type": "string",
                                                            "example": "DFT"
                                                        },
                                                        "Name": {
                                                            "maxLength": 40,
                                                            "type": "string",
                                                            "example": "Default Sales Area"
                                                        }
                                                    },
                                                    "description": "Sales Area"
                                                },
                                                "ManagementArea": {
                                                    "required": [
                                                        "Code",
                                                        "Name"
                                                    ],
                                                    "type": "object",
                                                    "properties": {
                                                        "Code": {
                                                            "maxLength": 3,
                                                            "minLength": 3,
                                                            "type": "string",
                                                            "example": "DFT"
                                                        },
                                                        "Name": {
                                                            "maxLength": 40,
                                                            "type": "string",
                                                            "example": "Default Management Area"
                                                        }
                                                    },
                                                    "description": "Management Area"
                                                }
                                            },
                                            "description": "Service Address"
                                        },
                                        "Franchise": {
                                            "type": "object",
                                            "description": "Franchise",
                                            "required": [
                                                "Code",
                                                "Name"
                                            ],
                                            "properties": {
                                                "Code": {
                                                    "maxLength": 3,
                                                    "minLength": 3,
                                                    "type": "string",
                                                    "example": "001"
                                                },
                                                "Name": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "example": "South Park1"
                                                }
                                            }
                                        },
                                        "TimeZone": {
                                            "type": "object",
                                            "description": "Subscriber Time Zone",
                                            "properties": {
                                                "ID": {
                                                    "type": "integer",
                                                    "description": "Time zone ID",
                                                    "example": 75
                                                },
                                                "BIAS": {
                                                    "type": "integer",
                                                    "description": "Time zone BIAS",
                                                    "example": 480
                                                },
                                                "Name": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "description": "Time zone name",
                                                    "example": "Pacific Standard Time (Mexico)"
                                                },
                                                "Description": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "description": "Time zone description",
                                                    "example": "(UTC-08:00) Baja California"
                                                }
                                            },
                                            "required": [
                                                "ID",
                                                "BIAS",
                                                "Name",
                                                "Description"
                                            ]
                                        },
                                        "PaymentPlan": {
                                            "type": "string",
                                            "enum": [
                                                "Pre-paid",
                                                "Post-paid"
                                            ]
                                        },
                                        "PaymentTypes": {
                                            "type": "array",
                                            "description": "Supported Payment Types. Field is populated starting from BH v2.5.93.0",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "ID": {
                                                        "type": "integer"
                                                    },
                                                    "Code": {
                                                        "type": "string",
                                                        "minLength": 3,
                                                        "maxLength": 3
                                                    },
                                                    "Name": {
                                                        "type": "string",
                                                        "maxLength": 30,
                                                        "minLength": 1
                                                    }
                                                },
                                                "required": [
                                                    "ID",
                                                    "Code",
                                                    "Name"
                                                ]
                                            }
                                        },
                                        "DOB": {
                                            "type": "string",
                                            "description": "DOB of the Subscriber",
                                            "format": "date",
                                            "example": "1975-03-09"
                                        },
                                        "WinScoreRiskFactor": {
                                            "type": "string",
                                            "description": "WinScore risk factor",
                                            "example": "RiskFactor"
                                        },
                                        "ParentAccounts": {
                                            "type": "array",
                                            "description": "Parent accounts",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "Account": {
                                                        "maxLength": 9,
                                                        "minLength": 6,
                                                        "type": "string",
                                                        "description": "Subscriber Account #",
                                                        "example": "123456201"
                                                    },
                                                    "AccountName": {
                                                        "maxLength": 255,
                                                        "type": "string",
                                                        "description": "Account Name (first and last name when residential/the business name when commercial)",
                                                        "example": "Parent Account Name"
                                                    }
                                                },
                                                "required": [
                                                    "Account",
                                                    "AccountName"
                                                ]
                                            }
                                        },
                                        "ChildAccounts": {
                                            "type": "array",
                                            "description": "Child accounts",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "Account": {
                                                        "maxLength": 9,
                                                        "minLength": 6,
                                                        "type": "string",
                                                        "description": "Subscriber Account #",
                                                        "example": "123456204"
                                                    },
                                                    "AccountName": {
                                                        "maxLength": 255,
                                                        "type": "string",
                                                        "description": "Account Name (first and last name when residential/the business name when commercial)",
                                                        "example": "Child Account Name"
                                                    }
                                                },
                                                "required": [
                                                    "Account",
                                                    "AccountName"
                                                ]
                                            }
                                        },
                                        "SoftDisconnect": {
                                            "type": "object",
                                            "description": "Soft-Disconnect information",
                                            "properties": {
                                                "SDStatus": {
                                                    "type": "string",
                                                    "description": "Soft-Disconnect Status",
                                                    "enum": [
                                                        "Active",
                                                        "Pending"
                                                    ]
                                                },
                                                "SDDate": {
                                                    "type": "string",
                                                    "description": "Soft-Disconnect Date",
                                                    "format": "date",
                                                    "example": "2020-12-12"
                                                }
                                            },
                                            "required": [
                                                "SDStatus",
                                                "SDDate"
                                            ]
                                        },
                                        "PINisSet": {
                                            "type": "boolean",
                                            "description": "Subscriber has PIN set for IVR access. Use ValidateSubPIN to validate"
                                        },
                                        "CanOrderPPV": {
                                            "type": "boolean",
                                            "description": "Can order PPV"
                                        },
                                        "PPVDenyReason": {
                                            "type": "object",
                                            "properties": {
                                                "Value": {
                                                    "type": "integer",
                                                    "example": 20
                                                },
                                                "Text": {
                                                    "type": "string",
                                                    "example": "Subscriber's PPV is Temporary disabled"
                                                }
                                            },
                                            "required": [
                                                "Value",
                                                "Text"
                                            ]
                                        },
                                        "InOutageArea": {
                                            "type": "boolean",
                                            "description": "In Outage Area"
                                        },
                                        "ActiveOutages": {
                                            "type": "array",
                                            "description": "Details on each active outage",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "ID": {
                                                        "type": "integer",
                                                        "description": "Outage ID",
                                                        "example": 1
                                                    },
                                                    "OutageStatus": {
                                                        "type": "string",
                                                        "description": "Outage Status",
                                                        "enum": [
                                                            "Open",
                                                            "Closed"
                                                        ]
                                                    },
                                                    "OutageType": {
                                                        "type": "string",
                                                        "description": "Outage Type",
                                                        "enum": [
                                                            "Planned",
                                                            "Unplanned"
                                                        ]
                                                    },
                                                    "Description": {
                                                        "maxLength": 80,
                                                        "type": "string",
                                                        "description": "Description"
                                                    },
                                                    "StartTime": {
                                                        "type": "string",
                                                        "description": "Start Date/Time",
                                                        "format": "date-time"
                                                    },
                                                    "EstCloseTime": {
                                                        "type": "string",
                                                        "description": "Estimated Close Date/Time",
                                                        "format": "date-time"
                                                    },
                                                    "ActualEndDate": {
                                                        "type": "string",
                                                        "format": "date-time"
                                                    },
                                                    "Resolutions": {
                                                        "type": "array",
                                                        "description": "Resolution (if status is closed)",
                                                        "items": {
                                                            "type": "object",
                                                            "properties": {
                                                                "Code": {
                                                                    "maxLength": 3,
                                                                    "minLength": 3,
                                                                    "type": "string",
                                                                    "example": "001"
                                                                },
                                                                "Name": {
                                                                    "maxLength": 40,
                                                                    "type": "string",
                                                                    "example": "Resolution 1"
                                                                }
                                                            },
                                                            "required": [
                                                                "Code",
                                                                "Name"
                                                            ]
                                                        }
                                                    }
                                                },
                                                "required": [
                                                    "ID",
                                                    "OutageStatus",
                                                    "OutageType",
                                                    "StartTime"
                                                ]
                                            }
                                        }
                                    },
                                    "required": [
                                        "Account",
                                        "SubscriberStatus",
                                        "SubscriberType",
                                        "AccountName",
                                        "Franchise"
                                    ]
                                },
                                "examples": {
                                    "example-008316": {
                                        "value": {
                                            "Account": "008316",
                                            "SubscriberStatus": {
                                                "Code": "ACT",
                                                "Name": "Active",
                                                "BaseCustStatus": 173
                                            },
                                            "SubscriberType": {
                                                "Code": "RES",
                                                "Name": "Residential Subscriber"
                                            },
                                            "AccountName": "Dan G Falana",
                                            "FirstName": "Dan",
                                            "SecondName": "G",
                                            "LastName": "Falana",
                                            "PhoneNumbers": [
                                                {
                                                    "PhoneNumber": "9018723602",
                                                    "PhoneNumberType": {
                                                        "Code": "HOM",
                                                        "Name": "Home phone"
                                                    }
                                                },
                                                {
                                                    "PhoneNumber": "7616035031",
                                                    "PhoneNumberType": {
                                                        "Code": "VOI",
                                                        "Name": "VoIP Phone"
                                                    }
                                                }
                                            ],
                                            "BillingEmail": "",
                                            "ServiceAddress": {
                                                "FullAddress": "4780 Navy Rd Encinitas, CA 92024",
                                                "City": "Encinitas",
                                                "State": "CA",
                                                "ZIP": "92024",
                                                "ZIPPlus4": "92024",
                                                "BlockFIPS": "",
                                                "Franchise": {
                                                    "Code": "009",
                                                    "Name": "Ocean Beach"
                                                },
                                                "PropertyType": {
                                                    "Code": "RES",
                                                    "Name": "Residential"
                                                },
                                                "HeadEnd": {
                                                    "Code": "001",
                                                    "Name": "NCTC Member"
                                                },
                                                "Hub": {
                                                    "Code": "S_A",
                                                    "Name": "Scientific Atlanta"
                                                },
                                                "Node": {
                                                    "Code": "005",
                                                    "Name": "Blue Lake"
                                                },
                                                "VoIPRateCenter": {
                                                    "Code": "DRC",
                                                    "Name": "Default"
                                                },
                                                "Wired": true,
                                                "DropConnected": true,
                                                "TechRegion": {
                                                    "Code": "001",
                                                    "Name": "North"
                                                }
                                            },
                                            "Franchise": {
                                                "Code": "009",
                                                "Name": "Ocean Beach"
                                            },
                                            "CanOrderPPV": false,
                                            "PPVDenyReason": {
                                                "Value": 17,
                                                "Text": "Subscriber is not PPV Enabled"
                                            },
                                            "PINisSet": true,
                                            "TimeZone": {
                                                "ID": 40,
                                                "BIAS": 480,
                                                "Name": "Pacific Standard Time",
                                                "Description": "(UTC-08:00) Pacific Time (US & Canada)"
                                            },
                                            "PaymentPlan": "Post-paid",
                                            "PaymentTypes": [
                                                {
                                                    "ID": 255,
                                                    "Code": "CHG",
                                                    "Name": "Credit Card Payment"
                                                },
                                                {
                                                    "ID": 253,
                                                    "Code": "CSH",
                                                    "Name": "Cash Payment"
                                                }
                                            ],
                                            "InOutageArea": true,
                                            "ActiveOutages": [
                                                {
                                                    "ID": 9,
                                                    "OutageStatus": "Open",
                                                    "OutageType": "Planned",
                                                    "Description": "Planned Outage Test",
                                                    "StartTime": "2020-08-05T23:26:14.096Z"
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Subscriber Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2155",
                                            "errorMessage": "Subscriber Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/subscriber/{ACCOUNT}/balance": {
            "get": {
                "tags": [
                    "Subscriber"
                ],
                "summary": "Get subscriber balance",
                "description": "Get subscriber balance",
                "operationId": "GetBalance",
                "parameters": [
                    {
                        "name": "ACCOUNT",
                        "in": "path",
                        "description": "Subscriber Account #",
                        "required": true,
                        "schema": {
                            "maxLength": 9,
                            "minLength": 6,
                            "type": "string",
                            "pattern": "^[0-9]+",
                            "example": "123456203"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "PaymentPlan": {
                                            "type": "string",
                                            "enum": [
                                                "Pre-paid",
                                                "Post-paid"
                                            ]
                                        },
                                        "LastBillAfterPayments": {
                                            "type": "number",
                                            "description": "Last bill amount after payments, a.k.a balance forward",
                                            "example": 13062.13
                                        },
                                        "CurrentBalance": {
                                            "type": "number",
                                            "description": "Current balance, equals to LastBillAfterPayments + NewActivity",
                                            "example": 19991.3
                                        },
                                        "NewActivity": {
                                            "type": "number",
                                            "description": "New activity in open cycle",
                                            "example": 6929.17
                                        },
                                        "CurrentAging30": {
                                            "type": "number",
                                            "description": "Current aging 30+",
                                            "example": 256.37
                                        },
                                        "CurrentAging60": {
                                            "type": "number",
                                            "description": "Current aging 60+",
                                            "example": 249.72
                                        },
                                        "CurrentAging90": {
                                            "type": "number",
                                            "description": "Current aging 90+",
                                            "example": 236.37
                                        },
                                        "CurrentAging120": {
                                            "type": "number",
                                            "description": "Current aging 120+",
                                            "example": 12319.67
                                        },
                                        "PastDueAmt": {
                                            "type": "number",
                                            "description": "Past Due Amount - a sum of  '31-60' + '61-90' +'>90' aging categories. Amount to pay to avoid NPD or Soft Disconnect aka Minimum Payment",
                                            "example": 12319.67
                                        },
                                        "CurrentBillDueDate": {
                                            "type": "string",
                                            "format": "date",
                                            "description": "Current Bill Due Date",
                                            "example": "2020-11-01"
                                        },
                                        "LastBillAmount": {
                                            "type": "number",
                                            "description": "Last Bill Amount",
                                            "example": 14690.5
                                        },
                                        "LastBillDate": {
                                            "type": "string",
                                            "description": "Last Bill Date",
                                            "format": "date",
                                            "example": "2020-10-30"
                                        },
                                        "BillFormIsSet": {
                                            "type": "boolean",
                                            "description": "Subscriber billing form is set"
                                        },
                                        "LastCycleCloseDate": {
                                            "type": "string",
                                            "description": "Last Cycle Close Date",
                                            "format": "date",
                                            "example": "2020-10-30"
                                        },
                                        "LastPaymentAmount": {
                                            "type": "number",
                                            "description": "Last Payment Amount",
                                            "example": 99.99
                                        },
                                        "LastPaymentDate": {
                                            "type": "string",
                                            "description": "Last Payment Date",
                                            "format": "date",
                                            "example": "2020-10-30"
                                        },
                                        "LatePaymentAmount": {
                                            "type": "number",
                                            "description": "Late Payment Amount",
                                            "example": 1628.37
                                        },
                                        "MonthlyPPVCreditLimit": {
                                            "type": "number",
                                            "description": "Monthly PPV credit limit",
                                            "example": 100
                                        },
                                        "AvailPPVCreditLimit": {
                                            "type": "number",
                                            "description": "Available PPV credit limit",
                                            "example": 10.1
                                        },
                                        "PTP": {
                                            "type": "object",
                                            "description": "Promise-to-Pay (PTP) Information",
                                            "properties": {
                                                "PTPDate": {
                                                    "type": "string",
                                                    "description": "PTP Date",
                                                    "format": "date",
                                                    "example": "2020-12-12"
                                                },
                                                "PTPAgingCategory": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "description": "PTP Aging Category",
                                                    "example": "31-60"
                                                },
                                                "PTPAmount": {
                                                    "type": "number",
                                                    "description": "PTP Amount",
                                                    "example": 10
                                                }
                                            },
                                            "required": [
                                                "PTPDate",
                                                "PTPAgingCategory",
                                                "PTPAmount"
                                            ]
                                        }
                                    }
                                },
                                "examples": {
                                    "example-008316": {
                                        "value": {
                                            "PaymentPlan": "Post-paid",
                                            "LastBillAfterPayments": 0,
                                            "CurrentBalance": 0,
                                            "NewActivity": 0,
                                            "CurrentAging30": 0,
                                            "CurrentAging60": 0,
                                            "CurrentAging90": 0,
                                            "CurrentAging120": 0,
                                            "PastDueAmt": 0,
                                            "LastBillAmount": 243.03,
                                            "LastBillDate": "2021-01-25",
                                            "BillFormIsSet": true,
                                            "LastPaymentAmount": -243.03,
                                            "LastPaymentDate": "2021-02-10",
                                            "MonthlyPPVCreditLimit": 100,
                                            "AvailPPVCreditLimit": 100,
                                            "LatePaymentAmount": 0
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Subscriber Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2155",
                                            "errorMessage": "Subscriber Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/subscriber/{ACCOUNT}/buckets": {
            "get": {
                "tags": [
                    "Subscriber"
                ],
                "summary": "Get subscriber buckets",
                "description": "Used to get pre-pay subscriber buckets. It will return single post-pay bucket for post-pay subscriber.",
                "operationId": "GetSubBucketBalances",
                "parameters": [
                    {
                        "name": "ACCOUNT",
                        "in": "path",
                        "description": "Subscriber Account #",
                        "required": true,
                        "schema": {
                            "maxLength": 9,
                            "minLength": 6,
                            "type": "string",
                            "pattern": "^[0-9]+",
                            "example": "123456203"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "Code": {
                                                "maxLength": 3,
                                                "minLength": 3,
                                                "type": "string",
                                                "example": "TVD"
                                            },
                                            "Description": {
                                                "maxLength": 40,
                                                "type": "string",
                                                "example": "TV AND DATA"
                                            },
                                            "Balance": {
                                                "type": "number",
                                                "description": "Negative value means credit (prepay subscribers/buckets should have enough credit to get services), positive value means debit (that is usual for post-paid subscribers/buckets)",
                                                "format": "currency",
                                                "example": -2.34
                                            }
                                        }
                                    }
                                },
                                "examples": {
                                    "example": {
                                        "value": [
                                            {
                                                "Code": "TVB",
                                                "Description": "TV AND DATA",
                                                "Balance": -2.34
                                            },
                                            {
                                                "Code": "PHN",
                                                "Description": "PHONE",
                                                "Balance": -5678.9
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Subscriber Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2155",
                                            "errorMessage": "Subscriber Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/subscriber/{ACCOUNT}/packages": {
            "get": {
                "tags": [
                    "Subscriber"
                ],
                "summary": "Get subscriber packages",
                "description": "Get subscriber packages",
                "operationId": "GetSubscriberPackages",
                "parameters": [
                    {
                        "name": "ACCOUNT",
                        "in": "path",
                        "description": "Subscriber Account #",
                        "required": true,
                        "schema": {
                            "maxLength": 9,
                            "minLength": 6,
                            "type": "string",
                            "pattern": "^[0-9]+",
                            "example": "123456203"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "description": "Packages",
                                    "items": {
                                        "required": [
                                            "PackageCode",
                                            "PackageName"
                                        ],
                                        "type": "object",
                                        "properties": {
                                            "PackageCode": {
                                                "maxLength": 3,
                                                "minLength": 3,
                                                "type": "string",
                                                "description": "Package Code",
                                                "example": "015"
                                            },
                                            "PackageName": {
                                                "type": "string",
                                                "description": "Package Name",
                                                "example": "HBO"
                                            },
                                            "Price": {
                                                "type": "number",
                                                "description": "Price Including Discount",
                                                "example": 10
                                            }
                                        }
                                    }
                                },
                                "examples": {
                                    "example-008316": {
                                        "value": [
                                            {
                                                "PackageCode": "TRB",
                                                "PackageName": "Retention Discount - -20",
                                                "Price": -20
                                            },
                                            {
                                                "PackageCode": "001",
                                                "PackageName": "10-Star Digital Basic",
                                                "Price": 54.95
                                            },
                                            {
                                                "PackageCode": "018",
                                                "PackageName": "Hi-Speed Residential",
                                                "Price": 49.95
                                            },
                                            {
                                                "PackageCode": "024",
                                                "PackageName": "Superphone Unlimited",
                                                "Price": 59.95
                                            },
                                            {
                                                "PackageCode": "TRC",
                                                "PackageName": "Discount Tracking Code",
                                                "Price": -15
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Subscriber Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2155",
                                            "errorMessage": "Subscriber Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/subscriber/{ACCOUNT}/packages/sis": {
            "get": {
                "tags": [
                    "Subscriber"
                ],
                "summary": "Get subscriber service information summary",
                "description": "Get subscriber service information summary",
                "operationId": "GetSIS",
                "parameters": [
                    {
                        "name": "ACCOUNT",
                        "in": "path",
                        "description": "Subscriber Account #",
                        "required": true,
                        "schema": {
                            "maxLength": 9,
                            "minLength": 6,
                            "type": "string",
                            "pattern": "^[0-9]+",
                            "example": "123456203"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "Packages": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "ServiceClass": {
                                                        "type": "object",
                                                        "properties": {
                                                            "Code": {
                                                                "maxLength": 3,
                                                                "minLength": 3,
                                                                "type": "string",
                                                                "description": "Service Class Code",
                                                                "example": "VID"
                                                            },
                                                            "Name": {
                                                                "maxLength": 40,
                                                                "type": "string",
                                                                "description": "Service Class Name",
                                                                "example": "Video"
                                                            }
                                                        }
                                                    },
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "description": "Package Code",
                                                        "example": "015"
                                                    },
                                                    "Name": {
                                                        "maxLength": 40,
                                                        "type": "string",
                                                        "description": "Package Name",
                                                        "example": "HBO"
                                                    },
                                                    "Quantity": {
                                                        "type": "number",
                                                        "description": "Quantity",
                                                        "example": 1
                                                    },
                                                    "Price": {
                                                        "type": "number",
                                                        "description": "Price",
                                                        "example": 10
                                                    },
                                                    "Taxes": {
                                                        "type": "number",
                                                        "description": "Tax/Fee Amount",
                                                        "example": 2.25
                                                    },
                                                    "ContractNumber": {
                                                        "type": "string",
                                                        "maxLength": 20,
                                                        "example": "2020-450-11",
                                                        "description": "Contract number"
                                                    },
                                                    "ContractEndDate": {
                                                        "type": "string",
                                                        "format": "date",
                                                        "description": "Contract end date"
                                                    }
                                                }
                                            }
                                        },
                                        "Discounts": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "ServiceClass": {
                                                        "type": "object",
                                                        "properties": {
                                                            "Code": {
                                                                "maxLength": 3,
                                                                "minLength": 3,
                                                                "type": "string",
                                                                "description": "Service Class Code",
                                                                "example": "VID"
                                                            },
                                                            "Name": {
                                                                "maxLength": 40,
                                                                "type": "string",
                                                                "description": "Video",
                                                                "example": "HBO"
                                                            }
                                                        }
                                                    },
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "description": "Discount Code",
                                                        "example": "SSS"
                                                    },
                                                    "Name": {
                                                        "maxLength": 40,
                                                        "type": "string",
                                                        "description": "Discount Name",
                                                        "example": "HBO VOIP Combo"
                                                    },
                                                    "Discount": {
                                                        "type": "number",
                                                        "description": "Discount",
                                                        "example": 1
                                                    },
                                                    "Taxes": {
                                                        "type": "number",
                                                        "description": "Tax/Fee Amount",
                                                        "example": 0.25
                                                    },
                                                    "ContractNumber": {
                                                        "type": "string",
                                                        "example": "2020-450-11",
                                                        "maxLength": 20,
                                                        "description": "Contract number"
                                                    },
                                                    "ContractEndDate": {
                                                        "type": "string",
                                                        "format": "date",
                                                        "description": "Contract end date"
                                                    }
                                                }
                                            }
                                        },
                                        "TaxesAndFees": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "ServiceClass": {
                                                        "type": "object",
                                                        "properties": {
                                                            "Code": {
                                                                "maxLength": 3,
                                                                "minLength": 3,
                                                                "type": "string",
                                                                "description": "Service Class Code",
                                                                "example": "384"
                                                            },
                                                            "Name": {
                                                                "maxLength": 40,
                                                                "type": "string",
                                                                "description": "Service Class Name",
                                                                "example": "Taxes and Fees"
                                                            }
                                                        }
                                                    },
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "description": "Tax/Fee Code",
                                                        "example": "CTX"
                                                    },
                                                    "Name": {
                                                        "maxLength": 40,
                                                        "type": "string",
                                                        "description": "Tax/Fee Name",
                                                        "example": "City Sales Tax"
                                                    },
                                                    "Amount": {
                                                        "type": "number",
                                                        "description": "Amount",
                                                        "example": 10
                                                    }
                                                }
                                            }
                                        }
                                    },
                                    "required": [
                                        "Packages",
                                        "Discounts",
                                        "TaxesAndFees"
                                    ]
                                },
                                "examples": {
                                    "example-008316": {
                                        "value": {
                                            "Packages": [
                                                {
                                                    "ServiceClass": {
                                                        "Code": "VID",
                                                        "Name": "Video"
                                                    },
                                                    "Code": "001",
                                                    "Name": "10-Star Digital Basic",
                                                    "Quantity": 1,
                                                    "Price": 24.95,
                                                    "Taxes": 0
                                                },
                                                {
                                                    "ServiceClass": {
                                                        "Code": "VID",
                                                        "Name": "Video"
                                                    },
                                                    "Code": "TRC",
                                                    "Name": "Discount Tracking Code",
                                                    "Quantity": 1,
                                                    "Price": 0,
                                                    "Taxes": 0
                                                },
                                                {
                                                    "ServiceClass": {
                                                        "Code": "VID",
                                                        "Name": "Video"
                                                    },
                                                    "Code": "TRB",
                                                    "Name": "Retention Discount - -20",
                                                    "Quantity": 1,
                                                    "Price": 0,
                                                    "Taxes": 0
                                                },
                                                {
                                                    "ServiceClass": {
                                                        "Code": "INT",
                                                        "Name": "Internet"
                                                    },
                                                    "Code": "018",
                                                    "Name": "Hi-Speed Residential",
                                                    "Quantity": 1,
                                                    "Price": 49.95,
                                                    "Taxes": 0
                                                },
                                                {
                                                    "ServiceClass": {
                                                        "Code": "PHN",
                                                        "Name": "Phone"
                                                    },
                                                    "Code": "024",
                                                    "Name": "Superphone Unlimited",
                                                    "Quantity": 1,
                                                    "Price": 59.95,
                                                    "Taxes": 5.6
                                                },
                                                {
                                                    "ServiceClass": {
                                                        "Code": "OTH",
                                                        "Name": "Other"
                                                    },
                                                    "Code": "001",
                                                    "Name": "10-Star Digital Basic",
                                                    "Quantity": 1,
                                                    "Price": 30,
                                                    "Taxes": 0
                                                }
                                            ],
                                            "Discounts": [
                                                {
                                                    "ServiceClass": {
                                                        "Code": "VID",
                                                        "Name": "Video"
                                                    },
                                                    "Code": "TRD",
                                                    "Name": "Retention Discount - $15",
                                                    "Discount": -15,
                                                    "Taxes": -1.65
                                                },
                                                {
                                                    "ServiceClass": {
                                                        "Code": "VID",
                                                        "Name": "Video"
                                                    },
                                                    "Code": "TRE",
                                                    "Name": "Retention Discount - $20",
                                                    "Discount": -20,
                                                    "Taxes": 0
                                                }
                                            ],
                                            "TaxesAndFees": [
                                                {
                                                    "ServiceClass": {
                                                        "Code": "384",
                                                        "Name": "Taxes and Fees"
                                                    },
                                                    "Code": "CI1",
                                                    "Name": "City Sales Tax",
                                                    "Amount": 0.6
                                                },
                                                {
                                                    "ServiceClass": {
                                                        "Code": "384",
                                                        "Name": "Taxes and Fees"
                                                    },
                                                    "Code": "FR1",
                                                    "Name": "Franchise Fee",
                                                    "Amount": 1.25
                                                },
                                                {
                                                    "ServiceClass": {
                                                        "Code": "384",
                                                        "Name": "Taxes and Fees"
                                                    },
                                                    "Code": "ST1",
                                                    "Name": "State Sales Tax",
                                                    "Amount": 2.1
                                                }
                                            ]
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Subscriber Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2155",
                                            "errorMessage": "Subscriber Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/subscriber/{ACCOUNT}/packages/summary": {
            "get": {
                "tags": [
                    "Subscriber"
                ],
                "summary": "Get subscriber package summary",
                "description": "Get subscriber package summary",
                "operationId": "GetSubscriberPackageSummary",
                "parameters": [
                    {
                        "name": "ACCOUNT",
                        "in": "path",
                        "description": "Subscriber Account #",
                        "required": true,
                        "schema": {
                            "maxLength": 9,
                            "minLength": 6,
                            "type": "string",
                            "pattern": "^[0-9]+",
                            "example": "123456203"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "RecurringCharges": {
                                            "type": "number",
                                            "description": "Recurring charges"
                                        },
                                        "RecurringDiscounts": {
                                            "type": "number",
                                            "description": "Recurring discounts"
                                        },
                                        "TimedBilling": {
                                            "type": "number",
                                            "description": "Timed billing"
                                        },
                                        "TimedPromoDiscounts": {
                                            "type": "number",
                                            "description": "Timed promo discounts"
                                        },
                                        "AfterDiscounts": {
                                            "type": "number",
                                            "description": "Monthly after discounts"
                                        },
                                        "TotalTaxed": {
                                            "type": "number",
                                            "description": "Monthly with taxes"
                                        }
                                    }
                                },
                                "examples": {
                                    "example-008316": {
                                        "value": {
                                            "RecurringCharges": 164.85,
                                            "RecurringDiscounts": -35,
                                            "TimedBilling": 0,
                                            "TimedPromoDiscounts": 0,
                                            "AfterDiscounts": 129.85,
                                            "TotalTaxed": 133.8
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Subscriber Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2155",
                                            "errorMessage": "Subscriber Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/subscriber/{ACCOUNT}/transactions/last/{X}": {
            "get": {
                "tags": [
                    "Subscriber"
                ],
                "summary": "Get last X transactions",
                "description": "Get last X transactions",
                "operationId": "GetLastSubscriberTransactions",
                "parameters": [
                    {
                        "name": "ACCOUNT",
                        "in": "path",
                        "description": "Subscriber Account #",
                        "required": true,
                        "schema": {
                            "maxLength": 9,
                            "minLength": 6,
                            "type": "string",
                            "pattern": "^[0-9]+",
                            "example": "123456203"
                        }
                    },
                    {
                        "name": "X",
                        "in": "path",
                        "description": "Last X transactions",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "description": "Last X Transactions (X provided by third-party using API)",
                                    "items": {
                                        "required": [
                                            "Amount",
                                            "Date",
                                            "Type"
                                        ],
                                        "type": "object",
                                        "properties": {
                                            "Type": {
                                                "required": [
                                                    "Code",
                                                    "Name"
                                                ],
                                                "type": "object",
                                                "properties": {
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "example": "ADJ"
                                                    },
                                                    "Name": {
                                                        "maxLength": 40,
                                                        "type": "string",
                                                        "example": "Adjustment"
                                                    }
                                                },
                                                "description": "Transaction Type"
                                            },
                                            "Date": {
                                                "type": "string",
                                                "description": "Transaction Date",
                                                "format": "date",
                                                "example": "2020-12-12"
                                            },
                                            "Amount": {
                                                "type": "number",
                                                "description": "Transaction Amount",
                                                "format": "currency"
                                            }
                                        }
                                    }
                                },
                                "examples": {
                                    "example-008316": {
                                        "value": [
                                            {
                                                "Type": {
                                                    "Code": "PAY",
                                                    "Name": "Payment"
                                                },
                                                "Date": "2021-02-10",
                                                "Amount": -243.03
                                            },
                                            {
                                                "Type": {
                                                    "Code": "LAT",
                                                    "Name": "Late Charge"
                                                },
                                                "Date": "2021-01-25",
                                                "Amount": 5
                                            },
                                            {
                                                "Type": {
                                                    "Code": "DIS",
                                                    "Name": "Discount"
                                                },
                                                "Date": "2020-12-29",
                                                "Amount": -56.13
                                            },
                                            {
                                                "Type": {
                                                    "Code": "DIS",
                                                    "Name": "Discount"
                                                },
                                                "Date": "2020-12-29",
                                                "Amount": 0
                                            },
                                            {
                                                "Type": {
                                                    "Code": "PRO",
                                                    "Name": "ProRated"
                                                },
                                                "Date": "2020-12-07",
                                                "Amount": 0
                                            },
                                            {
                                                "Type": {
                                                    "Code": "DIS",
                                                    "Name": "Discount"
                                                },
                                                "Date": "2020-12-29",
                                                "Amount": -42.1
                                            },
                                            {
                                                "Type": {
                                                    "Code": "DIS",
                                                    "Name": "Discount"
                                                },
                                                "Date": "2020-12-29",
                                                "Amount": 0
                                            },
                                            {
                                                "Type": {
                                                    "Code": "DIS",
                                                    "Name": "Discount"
                                                },
                                                "Date": "2020-12-29",
                                                "Amount": 0
                                            },
                                            {
                                                "Type": {
                                                    "Code": "PRO",
                                                    "Name": "ProRated"
                                                },
                                                "Date": "2020-12-07",
                                                "Amount": 0
                                            },
                                            {
                                                "Type": {
                                                    "Code": "DIS",
                                                    "Name": "Discount"
                                                },
                                                "Date": "2020-12-29",
                                                "Amount": 0
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Subscriber Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2155",
                                            "errorMessage": "Subscriber Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/subscriber/{ACCOUNT}/equipment": {
            "get": {
                "tags": [
                    "Equipment",
                    "Subscriber"
                ],
                "summary": "Get subscriber equipment",
                "description": "Get subscriber equipment",
                "operationId": "GetSubscriberEquipment",
                "parameters": [
                    {
                        "name": "ACCOUNT",
                        "in": "path",
                        "description": "Subscriber Account #",
                        "required": true,
                        "schema": {
                            "maxLength": 9,
                            "minLength": 6,
                            "type": "string",
                            "pattern": "^[0-9]+",
                            "example": "123456203"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "description": "List of Equipment on the Customer/Subscriber Account",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "EquipmentID": {
                                                "maxLength": 45,
                                                "type": "string",
                                                "description": "Equipment ID",
                                                "example": "0000310770580"
                                            },
                                            "SecondaryID": {
                                                "maxLength": 45,
                                                "type": "string",
                                                "description": "Secondary ID",
                                                "example": "0000310770581"
                                            },
                                            "Serial": {
                                                "maxLength": 45,
                                                "type": "string",
                                                "description": "Serial #",
                                                "example": "GI1032TB70LO"
                                            },
                                            "Type": {
                                                "type": "object",
                                                "description": "Equipment Type",
                                                "required": [
                                                    "Code",
                                                    "Name"
                                                ],
                                                "properties": {
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "example": "CVT"
                                                    },
                                                    "Name": {
                                                        "maxLength": 40,
                                                        "type": "string",
                                                        "example": "Converter"
                                                    }
                                                }
                                            },
                                            "Make": {
                                                "type": "object",
                                                "description": "Make (MFG Code)",
                                                "required": [
                                                    "Code",
                                                    "Name"
                                                ],
                                                "properties": {
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "example": "HIT"
                                                    },
                                                    "Name": {
                                                        "maxLength": 40,
                                                        "type": "string",
                                                        "example": "Hits"
                                                    }
                                                }
                                            },
                                            "Model": {
                                                "type": "object",
                                                "description": "Model",
                                                "required": [
                                                    "Code",
                                                    "Name"
                                                ],
                                                "properties": {
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "example": "041"
                                                    },
                                                    "Name": {
                                                        "maxLength": 40,
                                                        "type": "string",
                                                        "example": "HITS DCT1000 w/ phone return"
                                                    }
                                                }
                                            },
                                            "Status": {
                                                "type": "object",
                                                "description": "Status",
                                                "required": [
                                                    "Code",
                                                    "Name"
                                                ],
                                                "properties": {
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "example": "RES"
                                                    },
                                                    "Name": {
                                                        "maxLength": 40,
                                                        "type": "string",
                                                        "example": "Residential"
                                                    }
                                                }
                                            },
                                            "HeadEnd": {
                                                "type": "object",
                                                "description": "Head End",
                                                "required": [
                                                    "Code",
                                                    "Name"
                                                ],
                                                "properties": {
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "example": "HTS"
                                                    },
                                                    "Name": {
                                                        "maxLength": 40,
                                                        "type": "string",
                                                        "example": "Hits"
                                                    }
                                                }
                                            },
                                            "Hub": {
                                                "type": "object",
                                                "description": "Hub",
                                                "required": [
                                                    "Code",
                                                    "Name"
                                                ],
                                                "properties": {
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "example": "HTS"
                                                    },
                                                    "Name": {
                                                        "maxLength": 40,
                                                        "type": "string",
                                                        "example": "Hits"
                                                    }
                                                }
                                            },
                                            "Location": {
                                                "type": "object",
                                                "description": "Location",
                                                "properties": {
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "example": "LVR"
                                                    },
                                                    "Name": {
                                                        "maxLength": 40,
                                                        "type": "string",
                                                        "example": "Living room"
                                                    }
                                                },
                                                "required": [
                                                    "Code",
                                                    "Name"
                                                ]
                                            },
                                            "Refreshable": {
                                                "type": "boolean",
                                                "description": "Equipment can be refreshed using refresh command"
                                            },
                                            "SingleFamilyUnit": {
                                                "type": "boolean",
                                                "description": "Equipment belongs to single family"
                                            },
                                            "Interfaces": {
                                                "type": "array",
                                                "description": "Individual Interfaces for Hybrid/Multi-Interface Equipment, where chassis info is at the main object",
                                                "items": {
                                                    "type": "object",
                                                    "properties": {
                                                        "EquipmentID": {
                                                            "maxLength": 45,
                                                            "type": "string",
                                                            "description": "Equipment ID",
                                                            "example": "0000310770580"
                                                        },
                                                        "SecondaryID": {
                                                            "maxLength": 45,
                                                            "type": "string",
                                                            "description": "Secondary ID",
                                                            "example": "0000310770581"
                                                        },
                                                        "Serial": {
                                                            "maxLength": 45,
                                                            "type": "string",
                                                            "description": "Serial #",
                                                            "example": "GI1032TB70LO"
                                                        },
                                                        "Type": {
                                                            "type": "object",
                                                            "description": "Equipment Type",
                                                            "required": [
                                                                "Code",
                                                                "Name"
                                                            ],
                                                            "properties": {
                                                                "Code": {
                                                                    "maxLength": 3,
                                                                    "minLength": 3,
                                                                    "type": "string",
                                                                    "example": "CVT"
                                                                },
                                                                "Name": {
                                                                    "maxLength": 40,
                                                                    "type": "string",
                                                                    "example": "Converter"
                                                                }
                                                            }
                                                        },
                                                        "Make": {
                                                            "type": "object",
                                                            "description": "Make (MFG Code)",
                                                            "required": [
                                                                "Code",
                                                                "Name"
                                                            ],
                                                            "properties": {
                                                                "Code": {
                                                                    "maxLength": 3,
                                                                    "minLength": 3,
                                                                    "type": "string",
                                                                    "example": "HIT"
                                                                },
                                                                "Name": {
                                                                    "maxLength": 40,
                                                                    "type": "string",
                                                                    "example": "Hits"
                                                                }
                                                            }
                                                        },
                                                        "Model": {
                                                            "type": "object",
                                                            "description": "Model",
                                                            "required": [
                                                                "Code",
                                                                "Name"
                                                            ],
                                                            "properties": {
                                                                "Code": {
                                                                    "maxLength": 3,
                                                                    "minLength": 3,
                                                                    "type": "string",
                                                                    "example": "041"
                                                                },
                                                                "Name": {
                                                                    "maxLength": 40,
                                                                    "type": "string",
                                                                    "example": "HITS DCT1000 w/ phone return"
                                                                }
                                                            }
                                                        },
                                                        "HeadEnd": {
                                                            "type": "object",
                                                            "description": "Head End",
                                                            "required": [
                                                                "Code",
                                                                "Name"
                                                            ],
                                                            "properties": {
                                                                "Code": {
                                                                    "maxLength": 3,
                                                                    "minLength": 3,
                                                                    "type": "string",
                                                                    "example": "HTS"
                                                                },
                                                                "Name": {
                                                                    "maxLength": 40,
                                                                    "type": "string",
                                                                    "example": "Hits"
                                                                }
                                                            }
                                                        },
                                                        "Hub": {
                                                            "type": "object",
                                                            "description": "Hub",
                                                            "required": [
                                                                "Code",
                                                                "Name"
                                                            ],
                                                            "properties": {
                                                                "Code": {
                                                                    "maxLength": 3,
                                                                    "minLength": 3,
                                                                    "type": "string",
                                                                    "example": "HTS"
                                                                },
                                                                "Name": {
                                                                    "maxLength": 40,
                                                                    "type": "string",
                                                                    "example": "Hits"
                                                                }
                                                            }
                                                        },
                                                        "Refreshable": {
                                                            "type": "boolean",
                                                            "description": "Equipment can be refreshed using refresh command"
                                                        },
                                                        "Ports": {
                                                            "type": "array",
                                                            "description": "Equipment ports for MTA and ONT equipment",
                                                            "items": {
                                                                "type": "object",
                                                                "properties": {
                                                                    "PortType": {
                                                                        "type": "object",
                                                                        "description": "Port Type",
                                                                        "required": [
                                                                            "Code",
                                                                            "Name"
                                                                        ],
                                                                        "properties": {
                                                                            "Code": {
                                                                                "maxLength": 3,
                                                                                "minLength": 3,
                                                                                "type": "string",
                                                                                "example": "DGE"
                                                                            },
                                                                            "Name": {
                                                                                "maxLength": 40,
                                                                                "type": "string",
                                                                                "example": "DGE Port"
                                                                            }
                                                                        }
                                                                    },
                                                                    "PortId": {
                                                                        "type": "integer",
                                                                        "example": 1
                                                                    }
                                                                },
                                                                "required": [
                                                                    "PortType",
                                                                    "PortId"
                                                                ]
                                                            }
                                                        }
                                                    },
                                                    "required": [
                                                        "EquipmentID",
                                                        "Type",
                                                        "Make",
                                                        "Model",
                                                        "HeadEnd",
                                                        "Hub",
                                                        "Refreshable"
                                                    ]
                                                }
                                            },
                                            "Ports": {
                                                "type": "array",
                                                "description": "Equipment ports for MTA and ONT equipment",
                                                "items": {
                                                    "type": "object",
                                                    "properties": {
                                                        "PortType": {
                                                            "type": "object",
                                                            "description": "Port Type",
                                                            "required": [
                                                                "Code",
                                                                "Name"
                                                            ],
                                                            "properties": {
                                                                "Code": {
                                                                    "maxLength": 3,
                                                                    "minLength": 3,
                                                                    "type": "string",
                                                                    "example": "DGE"
                                                                },
                                                                "Name": {
                                                                    "maxLength": 40,
                                                                    "type": "string",
                                                                    "example": "DGE Port"
                                                                }
                                                            }
                                                        },
                                                        "PortId": {
                                                            "type": "integer",
                                                            "example": 1
                                                        }
                                                    },
                                                    "required": [
                                                        "PortType",
                                                        "PortId"
                                                    ]
                                                }
                                            }
                                        },
                                        "required": [
                                            "EquipmentID",
                                            "Type",
                                            "Make",
                                            "Model",
                                            "Status",
                                            "HeadEnd",
                                            "Hub",
                                            "Refreshable",
                                            "SingleFamilyUnit"
                                        ]
                                    }
                                },
                                "examples": {
                                    "example-008316": {
                                        "value": [
                                            {
                                                "EquipmentID": "0001094803040206",
                                                "SecondaryID": "",
                                                "Serial": "M90646FGF529",
                                                "Type": {
                                                    "Code": "CVT",
                                                    "Name": "Converter"
                                                },
                                                "Make": {
                                                    "Code": "MOT",
                                                    "Name": "Motorola"
                                                },
                                                "Model": {
                                                    "Code": "M70",
                                                    "Name": "DCT 700 Two-Way RF"
                                                },
                                                "Status": {
                                                    "Code": "RES",
                                                    "Name": "Residential"
                                                },
                                                "HeadEnd": {
                                                    "Code": "DAC",
                                                    "Name": "DAC 6000"
                                                },
                                                "Hub": {
                                                    "Code": "D11",
                                                    "Name": "Location 1 (DAC 6000)"
                                                },
                                                "Refreshable": true,
                                                "SingleFamilyUnit": true
                                            },
                                            {
                                                "EquipmentID": "0001094803229005",
                                                "SecondaryID": "",
                                                "Serial": "M90646FGF530",
                                                "Type": {
                                                    "Code": "CVT",
                                                    "Name": "Converter"
                                                },
                                                "Make": {
                                                    "Code": "MOT",
                                                    "Name": "Motorola"
                                                },
                                                "Model": {
                                                    "Code": "M70",
                                                    "Name": "DCT 700 Two-Way RF"
                                                },
                                                "Status": {
                                                    "Code": "RES",
                                                    "Name": "Residential"
                                                },
                                                "HeadEnd": {
                                                    "Code": "DAC",
                                                    "Name": "DAC 6000"
                                                },
                                                "Hub": {
                                                    "Code": "D11",
                                                    "Name": "Location 1 (DAC 6000)"
                                                },
                                                "Refreshable": true,
                                                "SingleFamilyUnit": true
                                            },
                                            {
                                                "EquipmentID": "0001094804017209",
                                                "SecondaryID": "",
                                                "Serial": "M90646FGF531",
                                                "Type": {
                                                    "Code": "CVT",
                                                    "Name": "Converter"
                                                },
                                                "Make": {
                                                    "Code": "MOT",
                                                    "Name": "Motorola"
                                                },
                                                "Model": {
                                                    "Code": "M70",
                                                    "Name": "DCT 700 Two-Way RF"
                                                },
                                                "Status": {
                                                    "Code": "RES",
                                                    "Name": "Residential"
                                                },
                                                "HeadEnd": {
                                                    "Code": "DAC",
                                                    "Name": "DAC 6000"
                                                },
                                                "Hub": {
                                                    "Code": "D11",
                                                    "Name": "Location 1 (DAC 6000)"
                                                },
                                                "Refreshable": true,
                                                "SingleFamilyUnit": true
                                            },
                                            {
                                                "EquipmentID": "0005CA433DC4",
                                                "SecondaryID": "",
                                                "Serial": "",
                                                "Type": {
                                                    "Code": "CMD",
                                                    "Name": "Cable Modem"
                                                },
                                                "Make": {
                                                    "Code": "MOT",
                                                    "Name": "Motorola"
                                                },
                                                "Model": {
                                                    "Code": "612",
                                                    "Name": "SurfBoard 6121 (Modems)"
                                                },
                                                "Status": {
                                                    "Code": "RES",
                                                    "Name": "Residential"
                                                },
                                                "HeadEnd": {
                                                    "Code": "SPG",
                                                    "Name": "SPG Data and Voice"
                                                },
                                                "Hub": {
                                                    "Code": "S51",
                                                    "Name": "Location 1 (SPG D&V)"
                                                },
                                                "Refreshable": true,
                                                "SingleFamilyUnit": true
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Subscriber Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2155",
                                            "errorMessage": "Subscriber Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/subscriber/{ACCOUNT}/equipment/refresh/all": {
            "get": {
                "tags": [
                    "Equipment",
                    "Subscriber"
                ],
                "summary": "Refresh all equipment",
                "description": "Refresh all equipment",
                "operationId": "RefreshAllEquipment",
                "parameters": [
                    {
                        "name": "ACCOUNT",
                        "in": "path",
                        "description": "Subscriber Account #",
                        "required": true,
                        "schema": {
                            "maxLength": 9,
                            "minLength": 6,
                            "type": "string",
                            "pattern": "^[0-9]+",
                            "example": "123456203"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful Operation.",
                        "content": {}
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Invalid Subscriber value": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2155",
                                            "errorMessage": "Subscriber Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/subscriber/{ACCOUNT}/equipment/refresh": {
            "post": {
                "tags": [
                    "Equipment",
                    "Subscriber"
                ],
                "summary": "Refresh equipment",
                "description": "Refresh equipment",
                "operationId": "RefreshEquipment",
                "parameters": [
                    {
                        "name": "ACCOUNT",
                        "in": "path",
                        "description": "Subscriber Account #",
                        "required": true,
                        "schema": {
                            "maxLength": 9,
                            "minLength": 6,
                            "type": "string",
                            "pattern": "^[0-9]+",
                            "example": "123456203"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    },
                    {
                        "schema": {
                            "type": "string",
                            "default": "application/json"
                        },
                        "in": "header",
                        "name": "Content-Type"
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "array",
                                "items": {
                                    "description": "",
                                    "oneOf": [
                                        {
                                            "type": "string",
                                            "maxLength": 45,
                                            "description": "Equipment ID/serial",
                                            "example": "0000310770580"
                                        },
                                        {
                                            "type": "object",
                                            "description": "Equipment Port object",
                                            "properties": {
                                                "EquipmentID": {
                                                    "type": "string",
                                                    "description": "Equipment ID"
                                                },
                                                "PortTypeCode": {
                                                    "type": "string",
                                                    "description": "Port type code",
                                                    "example": "DGE",
                                                    "minLength": 3,
                                                    "maxLength": 3
                                                },
                                                "PortId": {
                                                    "type": "integer",
                                                    "description": "Port ID"
                                                }
                                            },
                                            "required": [
                                                "EquipmentID",
                                                "PortTypeCode",
                                                "PortId"
                                            ]
                                        }
                                    ]
                                }
                            },
                            "examples": {
                                "MAC Address list": {
                                    "value": [
                                        "00A0C914C8291",
                                        "00A0C914C830"
                                    ]
                                },
                                "Serial List": {
                                    "value": [
                                        "GI1044TAA274",
                                        "GI1044TAA275"
                                    ]
                                },
                                "Single Port Refresh": {
                                    "value": [
                                        {
                                            "EquipmentID": "ONUCLX1",
                                            "PortTypeCode": "DGE",
                                            "PortId": 1
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "required": true,
                    "description": "List of unformated equipment ID (MAC address), serial or equipment port object."
                },
                "responses": {
                    "204": {
                        "description": "Successful Operation.",
                        "content": {}
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Invalid Subscriber value": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "39",
                                            "errorMessage": "Invalid Converter value"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ],
                "x-codegen-request-body-name": "body"
            }
        },
        "/subscriber/{ACCOUNT}/outages/last/{X}": {
            "get": {
                "tags": [
                    "Outages",
                    "Subscriber"
                ],
                "summary": "Get outages within last X days",
                "description": "Get outages within last X days",
                "operationId": "GetLastOutages",
                "parameters": [
                    {
                        "name": "ACCOUNT",
                        "in": "path",
                        "description": "Subscriber Account #",
                        "required": true,
                        "schema": {
                            "maxLength": 9,
                            "minLength": 6,
                            "type": "string",
                            "pattern": "^[0-9]+",
                            "example": "123456203"
                        }
                    },
                    {
                        "name": "X",
                        "in": "path",
                        "description": "Last X Days",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 15000
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "description": "List of outages within the last X days",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "ID": {
                                                "type": "integer",
                                                "description": "Outage ID",
                                                "example": 1
                                            },
                                            "OutageStatus": {
                                                "type": "string",
                                                "description": "Outage Status",
                                                "enum": [
                                                    "Open",
                                                    "Closed"
                                                ]
                                            },
                                            "OutageType": {
                                                "type": "string",
                                                "description": "Outage Type",
                                                "enum": [
                                                    "Planned",
                                                    "Unplanned"
                                                ]
                                            },
                                            "Description": {
                                                "maxLength": 80,
                                                "type": "string",
                                                "description": "Description"
                                            },
                                            "StartTime": {
                                                "type": "string",
                                                "description": "Start Date/Time",
                                                "format": "date-time"
                                            },
                                            "EstCloseTime": {
                                                "type": "string",
                                                "description": "Estimated Close Date/Time",
                                                "format": "date-time"
                                            },
                                            "ActualEndDate": {
                                                "type": "string",
                                                "format": "date-time"
                                            },
                                            "Resolutions": {
                                                "type": "array",
                                                "description": "Resolution (if status is closed)",
                                                "items": {
                                                    "type": "object",
                                                    "properties": {
                                                        "Code": {
                                                            "maxLength": 3,
                                                            "minLength": 3,
                                                            "type": "string",
                                                            "example": "001"
                                                        },
                                                        "Name": {
                                                            "maxLength": 40,
                                                            "type": "string",
                                                            "example": "Resolution 1"
                                                        }
                                                    },
                                                    "required": [
                                                        "Code",
                                                        "Name"
                                                    ]
                                                }
                                            }
                                        },
                                        "required": [
                                            "ID",
                                            "OutageStatus",
                                            "OutageType",
                                            "StartTime"
                                        ]
                                    }
                                },
                                "examples": {
                                    "example": {
                                        "value": [
                                            {
                                                "ID": 1,
                                                "OutageStatus": "Open",
                                                "OutageType": "Planned",
                                                "Description": "string",
                                                "StartTime": "2019-08-24T14:15:22Z",
                                                "EstCloseTime": "2019-08-24T14:15:22Z",
                                                "ActualEndDate": "2019-08-24T14:15:22Z",
                                                "Resolutions": [
                                                    {
                                                        "Code": "001",
                                                        "Name": "Resolution 1"
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Subscriber Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2155",
                                            "errorMessage": "Subscriber Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/subscriber/{ACCOUNT}/work-orders/last/{X}": {
            "get": {
                "tags": [
                    "Work Orders",
                    "Subscriber"
                ],
                "summary": "Get work orders within last X days",
                "description": "Get work orders within last X days",
                "operationId": "GetLastWorkOrders",
                "parameters": [
                    {
                        "name": "ACCOUNT",
                        "in": "path",
                        "description": "Subscriber Account #",
                        "required": true,
                        "schema": {
                            "maxLength": 9,
                            "minLength": 6,
                            "type": "string",
                            "pattern": "^[0-9]+",
                            "example": "123456203"
                        }
                    },
                    {
                        "name": "X",
                        "in": "path",
                        "description": "Last X Days",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "maximum": 15000
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "description": "Work Order details for opened and closed within the last X days",
                                    "items": {
                                        "required": [
                                            "CreatedBy",
                                            "CreatedWhen",
                                            "ScheduledDate",
                                            "WOStatus",
                                            "WOType",
                                            "WOnumber"
                                        ],
                                        "type": "object",
                                        "properties": {
                                            "WOnumber": {
                                                "maxLength": 20,
                                                "type": "string",
                                                "description": "WO number",
                                                "example": "2147486937"
                                            },
                                            "WOStatus": {
                                                "type": "string",
                                                "description": "WO Status",
                                                "enum": [
                                                    "Open",
                                                    "Closed",
                                                    "Suspended",
                                                    "Canceled"
                                                ]
                                            },
                                            "CreatedBy": {
                                                "required": [
                                                    "Code",
                                                    "Name"
                                                ],
                                                "type": "object",
                                                "properties": {
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "example": "CSD"
                                                    },
                                                    "Name": {
                                                        "maxLength": 255,
                                                        "type": "string",
                                                        "example": "Mark Lawman"
                                                    }
                                                },
                                                "description": "Created By"
                                            },
                                            "CreatedWhen": {
                                                "type": "string",
                                                "description": "Created Date/Time",
                                                "format": "date-time"
                                            },
                                            "WOType": {
                                                "required": [
                                                    "Code",
                                                    "Name"
                                                ],
                                                "type": "object",
                                                "properties": {
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "example": "COS"
                                                    },
                                                    "Name": {
                                                        "maxLength": 40,
                                                        "type": "string",
                                                        "example": "Change of Service"
                                                    },
                                                    "BaseType": {
                                                        "required": [
                                                            "Code",
                                                            "Name"
                                                        ],
                                                        "type": "object",
                                                        "properties": {
                                                            "Code": {
                                                                "maxLength": 3,
                                                                "minLength": 3,
                                                                "type": "string",
                                                                "example": "COS"
                                                            },
                                                            "Name": {
                                                                "maxLength": 40,
                                                                "type": "string",
                                                                "example": "Change of Service"
                                                            }
                                                        }
                                                    }
                                                },
                                                "description": "Work Type/Service Type"
                                            },
                                            "ScheduledDate": {
                                                "type": "string",
                                                "description": "Scheduled Date",
                                                "format": "date"
                                            },
                                            "ScheduledPeriod": {
                                                "type": "object",
                                                "properties": {
                                                    "Period": {
                                                        "type": "integer",
                                                        "description": "Period ID",
                                                        "example": 354
                                                    },
                                                    "PeriodStart": {
                                                        "type": "string",
                                                        "description": "Scheduled Period Start",
                                                        "format": "date-time",
                                                        "example": "2020-10-30T12:00:00.000Z"
                                                    },
                                                    "PeriodEnd": {
                                                        "type": "string",
                                                        "description": "Scheduled Period End",
                                                        "format": "date-time",
                                                        "example": "2020-10-30T17:00:00.000Z"
                                                    },
                                                    "PeriodDescription": {
                                                        "maxLength": 30,
                                                        "type": "string",
                                                        "description": "Scheduled Period Description",
                                                        "example": "12PM-5PM"
                                                    }
                                                }
                                            },
                                            "Technician": {
                                                "required": [
                                                    "Code",
                                                    "Name"
                                                ],
                                                "type": "object",
                                                "properties": {
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "example": "1VD"
                                                    },
                                                    "Name": {
                                                        "maxLength": 255,
                                                        "type": "string",
                                                        "example": "John Black"
                                                    }
                                                },
                                                "description": "Technician"
                                            },
                                            "ClosedBy": {
                                                "required": [
                                                    "Code",
                                                    "Name"
                                                ],
                                                "type": "object",
                                                "properties": {
                                                    "Code": {
                                                        "maxLength": 3,
                                                        "minLength": 3,
                                                        "type": "string",
                                                        "example": "CSD"
                                                    },
                                                    "Name": {
                                                        "maxLength": 255,
                                                        "type": "string",
                                                        "example": "Mark Lawman"
                                                    }
                                                },
                                                "description": "Closed By"
                                            },
                                            "Reasons": {
                                                "type": "array",
                                                "example": [
                                                    {
                                                        "type": "Initial",
                                                        "Reason": {
                                                            "Code": "201",
                                                            "Name": "Too expensive"
                                                        }
                                                    },
                                                    {
                                                        "type": "Secondary",
                                                        "Reason": {
                                                            "Code": "202",
                                                            "Name": "Slow Speed"
                                                        }
                                                    },
                                                    {
                                                        "type": "Secondary",
                                                        "Reason": {
                                                            "Code": "203",
                                                            "Name": "Can't afford"
                                                        }
                                                    },
                                                    {
                                                        "type": "Final",
                                                        "Reason": {
                                                            "Code": "204",
                                                            "Name": "Downgrade"
                                                        }
                                                    }
                                                ],
                                                "items": {
                                                    "type": "object",
                                                    "properties": {
                                                        "Type": {
                                                            "type": "string",
                                                            "description": "Reason type",
                                                            "enum": [
                                                                "Initial",
                                                                "Secondary",
                                                                "Final"
                                                            ]
                                                        },
                                                        "Reason": {
                                                            "required": [
                                                                "Code",
                                                                "Name"
                                                            ],
                                                            "type": "object",
                                                            "properties": {
                                                                "Code": {
                                                                    "maxLength": 3,
                                                                    "minLength": 3,
                                                                    "type": "string",
                                                                    "example": "201"
                                                                },
                                                                "Name": {
                                                                    "maxLength": 40,
                                                                    "type": "string",
                                                                    "example": "Too expensive"
                                                                }
                                                            },
                                                            "description": "Reason code"
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                },
                                "examples": {
                                    "example": {
                                        "value": [
                                            {
                                                "WOnumber": "2147486937",
                                                "WOStatus": "Open",
                                                "CreatedBy": {
                                                    "Code": "CSD",
                                                    "Name": "Mark Lawman"
                                                },
                                                "CreatedWhen": "2019-08-24T14:15:22Z",
                                                "WOType": {
                                                    "Code": "COS",
                                                    "Name": "Change of Service",
                                                    "BaseType": {
                                                        "Code": "COS",
                                                        "Name": "Change of Service"
                                                    }
                                                },
                                                "ScheduledDate": "2019-08-24",
                                                "ScheduledPeriod": {
                                                    "Period": 354,
                                                    "PeriodStart": "2020-10-30T12:00:00.000Z",
                                                    "PeriodEnd": "2020-10-30T17:00:00.000Z",
                                                    "PeriodDescription": "12PM-5PM"
                                                },
                                                "Technician": {
                                                    "Code": "1VD",
                                                    "Name": "John Black"
                                                },
                                                "ClosedBy": {
                                                    "Code": "CSD",
                                                    "Name": "Mark Lawman"
                                                },
                                                "Reasons": [
                                                    {
                                                        "type": "Initial",
                                                        "Reason": {
                                                            "Code": "201",
                                                            "Name": "Too expensive"
                                                        }
                                                    },
                                                    {
                                                        "type": "Secondary",
                                                        "Reason": {
                                                            "Code": "202",
                                                            "Name": "Slow Speed"
                                                        }
                                                    },
                                                    {
                                                        "type": "Secondary",
                                                        "Reason": {
                                                            "Code": "203",
                                                            "Name": "Can't afford"
                                                        }
                                                    },
                                                    {
                                                        "type": "Final",
                                                        "Reason": {
                                                            "Code": "204",
                                                            "Name": "Downgrade"
                                                        }
                                                    }
                                                ]
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Subscriber Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2155",
                                            "errorMessage": "Subscriber Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/equipment/{EQUIPMENTID}/action/{ACTIONCODE}": {
            "get": {
                "tags": [
                    "Equipment"
                ],
                "summary": "Perform action code",
                "description": "Perform action code",
                "operationId": "PerformActionCode",
                "parameters": [
                    {
                        "name": "EQUIPMENTID",
                        "in": "path",
                        "description": "Equipment ID",
                        "required": true,
                        "schema": {
                            "maxLength": 45,
                            "type": "string"
                        }
                    },
                    {
                        "name": "ACTIONCODE",
                        "in": "path",
                        "description": "Action Code",
                        "required": true,
                        "schema": {
                            "maxLength": 3,
                            "type": "string"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful Operation.",
                        "content": {}
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Equipment not found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2236",
                                            "errorMessage": "Equipment not found"
                                        }
                                    ]
                                }
                            },
                            "Action code not found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "3467",
                                            "errorMessage": "Action code not found"
                                        }
                                    ]
                                }
                            },
                            "Action code is not enabled for equipment head end": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "3468",
                                            "errorMessage": "Action code is not enabled for equipment head end"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/home/search": {
            "get": {
                "tags": [
                    "Home"
                ],
                "summary": "Lookup home",
                "description": "Lookup home",
                "operationId": "HomeLookup",
                "parameters": [
                    {
                        "name": "StreetNumber",
                        "in": "query",
                        "description": "Street Number",
                        "schema": {
                            "maxLength": 40,
                            "type": "string"
                        }
                    },
                    {
                        "name": "StreetName",
                        "in": "query",
                        "description": "Street Name",
                        "required": true,
                        "schema": {
                            "maxLength": 40,
                            "type": "string"
                        }
                    },
                    {
                        "name": "Apartment",
                        "in": "query",
                        "description": "Apartment",
                        "schema": {
                            "maxLength": 40,
                            "type": "string"
                        }
                    },
                    {
                        "name": "City",
                        "in": "query",
                        "description": "City",
                        "required": true,
                        "schema": {
                            "maxLength": 40,
                            "type": "string"
                        }
                    },
                    {
                        "name": "PostCode",
                        "in": "query",
                        "description": "Post Code",
                        "schema": {
                            "maxLength": 20,
                            "type": "string"
                        }
                    },
                    {
                        "name": "State",
                        "in": "query",
                        "description": "State",
                        "schema": {
                            "maxLength": 3,
                            "type": "string"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "required": [
                                            "Address",
                                            "Home"
                                        ],
                                        "type": "object",
                                        "properties": {
                                            "Home": {
                                                "type": "integer",
                                                "description": "Home ID",
                                                "example": 100
                                            },
                                            "Address": {
                                                "maxLength": 765,
                                                "type": "string",
                                                "example": "721 Kimball Terrace San Ysidro CA 94636-9101"
                                            }
                                        }
                                    }
                                },
                                "examples": {
                                    "example-008316": {
                                        "value": [
                                            {
                                                "Home": 8339,
                                                "Address": "4780 Navy Rd Encinitas, CA 92024"
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Home Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "3451",
                                            "errorMessage": "Home Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/home/{HOME}": {
            "get": {
                "tags": [
                    "Home"
                ],
                "summary": "Get homes passed details",
                "description": "Get homes passed details",
                "operationId": "GetHome",
                "parameters": [
                    {
                        "name": "HOME",
                        "in": "path",
                        "description": "Home ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "DropConnected",
                                        "Franchise",
                                        "HeadEnd",
                                        "Hub",
                                        "PropertyType",
                                        "TechRegion",
                                        "VoIPRateCenter",
                                        "Wired"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "FullAddress": {
                                            "maxLength": 765,
                                            "type": "string",
                                            "example": "721 Kimball Terrace San Ysidro CA 94636-9101"
                                        },
                                        "City": {
                                            "maxLength": 40,
                                            "type": "string",
                                            "example": "San Ysidro"
                                        },
                                        "State": {
                                            "maxLength": 3,
                                            "type": "string",
                                            "example": "CA"
                                        },
                                        "ZIP": {
                                            "maxLength": 20,
                                            "type": "string",
                                            "description": "Zip Code",
                                            "example": "94636"
                                        },
                                        "ZIPPlus4": {
                                            "maxLength": 20,
                                            "type": "string",
                                            "description": "Zip Plus 4",
                                            "example": "94636-9101"
                                        },
                                        "BlockFIPS": {
                                            "maxLength": 15,
                                            "type": "string",
                                            "description": "15-digit census block FIPS code",
                                            "example": "060730176041014"
                                        },
                                        "Franchise": {
                                            "required": [
                                                "Code",
                                                "Name"
                                            ],
                                            "type": "object",
                                            "properties": {
                                                "Code": {
                                                    "maxLength": 3,
                                                    "minLength": 3,
                                                    "type": "string",
                                                    "example": "001"
                                                },
                                                "Name": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "example": "South Park1"
                                                }
                                            },
                                            "description": "Franchise"
                                        },
                                        "PropertyType": {
                                            "required": [
                                                "Code",
                                                "Name"
                                            ],
                                            "type": "object",
                                            "properties": {
                                                "Code": {
                                                    "maxLength": 3,
                                                    "minLength": 3,
                                                    "type": "string",
                                                    "example": "RES"
                                                },
                                                "Name": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "example": "Residential"
                                                }
                                            },
                                            "description": "Property Type"
                                        },
                                        "HeadEnd": {
                                            "required": [
                                                "Code",
                                                "Name"
                                            ],
                                            "type": "object",
                                            "properties": {
                                                "Code": {
                                                    "maxLength": 3,
                                                    "minLength": 3,
                                                    "type": "string",
                                                    "example": "HTS"
                                                },
                                                "Name": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "example": "Hits"
                                                }
                                            },
                                            "description": "Head End"
                                        },
                                        "Hub": {
                                            "required": [
                                                "Code",
                                                "Name"
                                            ],
                                            "type": "object",
                                            "properties": {
                                                "Code": {
                                                    "maxLength": 3,
                                                    "minLength": 3,
                                                    "type": "string",
                                                    "example": "HTS"
                                                },
                                                "Name": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "example": "Hits"
                                                }
                                            },
                                            "description": "Hub"
                                        },
                                        "Node": {
                                            "required": [
                                                "Code",
                                                "Name"
                                            ],
                                            "type": "object",
                                            "properties": {
                                                "Code": {
                                                    "maxLength": 3,
                                                    "minLength": 3,
                                                    "type": "string",
                                                    "example": "005"
                                                },
                                                "Name": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "example": "005"
                                                }
                                            },
                                            "description": "Node"
                                        },
                                        "VoIPRateCenter": {
                                            "required": [
                                                "Code",
                                                "Name"
                                            ],
                                            "type": "object",
                                            "properties": {
                                                "Code": {
                                                    "maxLength": 3,
                                                    "minLength": 3,
                                                    "type": "string",
                                                    "example": "DRC"
                                                },
                                                "Name": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "example": "Default"
                                                }
                                            },
                                            "description": "VoIP Rate Center"
                                        },
                                        "DropTag": {
                                            "maxLength": 10,
                                            "type": "string",
                                            "description": "Drop Tag",
                                            "example": "LM89546"
                                        },
                                        "Wired": {
                                            "type": "boolean",
                                            "description": "Wired"
                                        },
                                        "DropConnected": {
                                            "type": "boolean",
                                            "description": "Drop Connected"
                                        },
                                        "TechRegion": {
                                            "required": [
                                                "Code",
                                                "Name"
                                            ],
                                            "type": "object",
                                            "properties": {
                                                "Code": {
                                                    "maxLength": 3,
                                                    "minLength": 3,
                                                    "type": "string",
                                                    "example": "TRD"
                                                },
                                                "Name": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "example": "Default Tech Region"
                                                }
                                            },
                                            "description": "Tech Region"
                                        },
                                        "SalesArea": {
                                            "required": [
                                                "Code",
                                                "Name"
                                            ],
                                            "type": "object",
                                            "properties": {
                                                "Code": {
                                                    "maxLength": 3,
                                                    "minLength": 3,
                                                    "type": "string",
                                                    "example": "DFT"
                                                },
                                                "Name": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "example": "Default Sales Area"
                                                }
                                            },
                                            "description": "Sales Area"
                                        },
                                        "ManagementArea": {
                                            "required": [
                                                "Code",
                                                "Name"
                                            ],
                                            "type": "object",
                                            "properties": {
                                                "Code": {
                                                    "maxLength": 3,
                                                    "minLength": 3,
                                                    "type": "string",
                                                    "example": "DFT"
                                                },
                                                "Name": {
                                                    "maxLength": 40,
                                                    "type": "string",
                                                    "example": "Default Management Area"
                                                }
                                            },
                                            "description": "Management Area"
                                        }
                                    },
                                    "description": "Service Address"
                                },
                                "examples": {
                                    "example-008316": {
                                        "value": {
                                            "FullAddress": "4780 Navy Rd Encinitas, CA 92024",
                                            "City": "Encinitas",
                                            "State": "CA",
                                            "ZIP": "92024",
                                            "ZIPPlus4": "92024",
                                            "BlockFIPS": "",
                                            "Franchise": {
                                                "Code": "009",
                                                "Name": "Ocean Beach"
                                            },
                                            "PropertyType": {
                                                "Code": "RES",
                                                "Name": "Residential"
                                            },
                                            "HeadEnd": {
                                                "Code": "001",
                                                "Name": "NCTC Member"
                                            },
                                            "Hub": {
                                                "Code": "S_A",
                                                "Name": "Scientific Atlanta"
                                            },
                                            "Node": {
                                                "Code": "005",
                                                "Name": "Blue Lake"
                                            },
                                            "VoIPRateCenter": {
                                                "Code": "DRC",
                                                "Name": "Default"
                                            },
                                            "Wired": true,
                                            "DropConnected": true,
                                            "TechRegion": {
                                                "Code": "001",
                                                "Name": "North"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "Subscriber Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2155",
                                            "errorMessage": "Subscriber Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/work-order/{WONUMBER}/availability": {
            "get": {
                "tags": [
                    "Work Orders"
                ],
                "summary": "Get available time periods",
                "description": "Get available time periods for work order rescheduling",
                "operationId": "GetAvailability",
                "parameters": [
                    {
                        "name": "WONUMBER",
                        "in": "path",
                        "description": "Work Order Number",
                        "required": true,
                        "schema": {
                            "maxLength": 20,
                            "type": "string"
                        }
                    },
                    {
                        "name": "Date",
                        "in": "query",
                        "description": "Selected Date",
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "Period": {
                                                "type": "integer",
                                                "description": "Period ID",
                                                "example": 354
                                            },
                                            "PeriodStart": {
                                                "type": "string",
                                                "description": "Scheduled Period Start",
                                                "format": "date-time",
                                                "example": "2020-10-30T12:00:00.000Z"
                                            },
                                            "PeriodEnd": {
                                                "type": "string",
                                                "description": "Scheduled Period End",
                                                "format": "date-time",
                                                "example": "2020-10-30T17:00:00.000Z"
                                            },
                                            "PeriodDescription": {
                                                "maxLength": 30,
                                                "type": "string",
                                                "description": "Scheduled Period Description",
                                                "example": "12PM-5PM"
                                            }
                                        }
                                    }
                                },
                                "examples": {
                                    "example": {
                                        "value": [
                                            {
                                                "Period": 354,
                                                "PeriodStart": "2020-10-30T12:00:00.000Z",
                                                "PeriodEnd": "2020-10-30T17:00:00.000Z",
                                                "PeriodDescription": "12PM-5PM"
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Work Order Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2233",
                                            "errorMessage": "Work Order Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/work-order/{WONUMBER}/reschedule/date/{DATE}/period/{PERIOD}": {
            "get": {
                "tags": [
                    "Work Orders"
                ],
                "summary": "Reschedule work order",
                "description": "Reschedule work order",
                "operationId": "RescheduleWorkOrder",
                "parameters": [
                    {
                        "name": "WONUMBER",
                        "in": "path",
                        "description": "Work Order Number",
                        "required": true,
                        "schema": {
                            "maxLength": 20,
                            "type": "string"
                        }
                    },
                    {
                        "name": "DATE",
                        "in": "path",
                        "description": "Date",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "format": "date"
                        }
                    },
                    {
                        "name": "PERIOD",
                        "in": "path",
                        "description": "Period ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful Operation.",
                        "content": {}
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Work Order Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2233",
                                            "errorMessage": "Work Order Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/work-order/{WONUMBER}/cancel": {
            "get": {
                "tags": [
                    "Work Orders"
                ],
                "summary": "Cancel work order",
                "description": "Cancel work order",
                "operationId": "CancelWorkOrder",
                "parameters": [
                    {
                        "name": "WONUMBER",
                        "in": "path",
                        "description": "Work order number",
                        "required": true,
                        "schema": {
                            "maxLength": 20,
                            "type": "string"
                        }
                    },
                    {
                        "name": "reason",
                        "in": "query",
                        "description": "Work order cancel reason, use /reasons/cancel to get available reasons",
                        "required": true,
                        "schema": {
                            "maxLength": 3,
                            "minLength": 3,
                            "type": "string"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful Operation.",
                        "content": {}
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Work Order Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2233",
                                            "errorMessage": "Work Order Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/reasons/{TYPE}": {
            "get": {
                "tags": [
                    "Other"
                ],
                "summary": "Get available reason list",
                "description": "Get available reason list",
                "operationId": "GetReasons",
                "parameters": [
                    {
                        "name": "TYPE",
                        "in": "path",
                        "description": "Reason type",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "cancel",
                                "outage"
                            ]
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "Code": {
                                                "type": "string",
                                                "description": "Reason code"
                                            },
                                            "Name": {
                                                "type": "string",
                                                "description": "Reason name"
                                            }
                                        }
                                    }
                                },
                                "examples": {
                                    "Work order cancel reason": {
                                        "value": [
                                            {
                                                "Code": "400",
                                                "Name": "Not Home"
                                            },
                                            {
                                                "Code": "401",
                                                "Name": "Changed Mind/Competitive"
                                            },
                                            {
                                                "Code": "402",
                                                "Name": "Needs to Reschedule"
                                            },
                                            {
                                                "Code": "403",
                                                "Name": "Non Pay Paid "
                                            },
                                            {
                                                "Code": "404",
                                                "Name": "No Money"
                                            },
                                            {
                                                "Code": "405",
                                                "Name": "Account Maintenance"
                                            },
                                            {
                                                "Code": "406",
                                                "Name": "Construction Needed"
                                            },
                                            {
                                                "Code": "407",
                                                "Name": "Customer Solved"
                                            },
                                            {
                                                "Code": "408",
                                                "Name": "Test"
                                            },
                                            {
                                                "Code": "MAC",
                                                "Name": "MBM Auto Cancel"
                                            }
                                        ]
                                    },
                                    "Outage reason": {
                                        "value": [
                                            {
                                                "Code": "409",
                                                "Name": "No Internet"
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Work Order Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2233",
                                            "errorMessage": "Work Order Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/service-classes": {
            "get": {
                "tags": [
                    "Other"
                ],
                "summary": "Get service class list",
                "description": "Get service class list",
                "operationId": "GetServiceClassList",
                "parameters": [
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "type": "object",
                                        "properties": {
                                            "Code": {
                                                "type": "string",
                                                "description": "Service class code"
                                            },
                                            "Name": {
                                                "type": "string",
                                                "description": "Service class name"
                                            }
                                        }
                                    }
                                },
                                "examples": {
                                    "example": {
                                        "value": [
                                            {
                                                "Code": "INT",
                                                "Name": "Internet"
                                            },
                                            {
                                                "Code": "OTH",
                                                "Name": "Other"
                                            },
                                            {
                                                "Code": "PHN",
                                                "Name": "Phone"
                                            },
                                            {
                                                "Code": "VID",
                                                "Name": "Video"
                                            }
                                        ]
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Work Order Not Found": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2233",
                                            "errorMessage": "Work Order Not Found"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        },
        "/outage": {
            "put": {
                "tags": [
                    "Outages"
                ],
                "summary": "Create outage",
                "description": "Create outage",
                "operationId": "CreateOutage",
                "parameters": [
                    {
                        "schema": {
                            "type": "string",
                            "default": "application/json"
                        },
                        "in": "header",
                        "name": "Content-Type"
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "OutageType": {
                                        "type": "string",
                                        "description": "Outage Type",
                                        "enum": [
                                            "Planned",
                                            "Unplanned"
                                        ]
                                    },
                                    "AffectedServiceClasses": {
                                        "type": "array",
                                        "description": "Array of affected service classes, use '/service-classes' to get available",
                                        "minItems": 1,
                                        "items": {
                                            "maxLength": 3,
                                            "minLength": 3,
                                            "type": "string",
                                            "example": "INT"
                                        }
                                    },
                                    "AffectedArea": {
                                        "type": "array",
                                        "example": [
                                            {
                                                "Type": "Subscriber",
                                                "Values": [
                                                    "000000100",
                                                    "000013525"
                                                ]
                                            },
                                            {
                                                "Type": "Headend",
                                                "Values": [
                                                    "000",
                                                    "001"
                                                ]
                                            },
                                            {
                                                "Type": "EquipmentID",
                                                "Values": [
                                                    "19195",
                                                    "987654321000"
                                                ]
                                            },
                                            {
                                                "Type": "PhoneNumber",
                                                "Values": [
                                                    "17606021916",
                                                    "17609671001"
                                                ]
                                            }
                                        ],
                                        "minItems": 1,
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "Type": {
                                                    "type": "string",
                                                    "description": " 1. Franchise - franchise codes. 2. Headend - head end codes. 3. Hub - hub codes. 4. Node - node codes. 5. Subscriber - subscriber account numbers. 6. EquipmentID and EquipmentSerial - values without masks. 7. PhoneNumber - full phone number including country code.",
                                                    "enum": [
                                                        "Franchise",
                                                        "Headend",
                                                        "Hub",
                                                        "Node",
                                                        "Subscriber",
                                                        "EquipmentID",
                                                        "EquipmentSerial",
                                                        "PhoneNumber"
                                                    ]
                                                },
                                                "Values": {
                                                    "type": "array",
                                                    "minItems": 1,
                                                    "items": {
                                                        "type": "string",
                                                        "description": "Area identificator",
                                                        "minLength": 3,
                                                        "maxLength": 40
                                                    }
                                                }
                                            },
                                            "required": [
                                                "Type",
                                                "Values"
                                            ]
                                        }
                                    },
                                    "StartTime": {
                                        "type": "string",
                                        "description": "Start Date/Time",
                                        "format": "date-time"
                                    },
                                    "EstCloseTime": {
                                        "type": "string",
                                        "description": "Estimated Close Date/Time",
                                        "format": "date-time"
                                    },
                                    "Description": {
                                        "maxLength": 255,
                                        "type": "string",
                                        "description": "Outage Public Description"
                                    },
                                    "Reasons": {
                                        "type": "array",
                                        "description": "List of outage reasons, use '/reasons/outage' to get available reasons",
                                        "items": {
                                            "maxLength": 3,
                                            "minLength": 3,
                                            "type": "string",
                                            "description": "Reason code, use '/reasons/outage' to get available reasons",
                                            "example": "300"
                                        }
                                    }
                                },
                                "required": [
                                    "OutageType",
                                    "AffectedServiceClasses",
                                    "AffectedArea",
                                    "StartTime",
                                    "EstCloseTime"
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Successful Operation.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "Outage": {
                                            "type": "integer",
                                            "description": "Outage ID",
                                            "example": 100
                                        }
                                    }
                                },
                                "examples": {
                                    "example": {
                                        "value": {
                                            "Outage": 100
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Invalid Subscriber value": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2804",
                                            "errorMessage": "Invalid Subscriber value"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ],
                "x-codegen-request-body-name": "body"
            }
        },
        "/outage/{OUTAGE}": {
            "patch": {
                "tags": [
                    "Outages"
                ],
                "summary": "Update outage",
                "description": "Update outage",
                "operationId": "UpdateOutage",
                "parameters": [
                    {
                        "name": "OUTAGE",
                        "in": "path",
                        "description": "Outage ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "schema": {
                            "type": "string",
                            "default": "application/json"
                        },
                        "in": "header",
                        "name": "Content-Type"
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "properties": {
                                    "OutageType": {
                                        "type": "string",
                                        "description": "Outage Type",
                                        "enum": [
                                            "Planned",
                                            "Unplanned"
                                        ]
                                    },
                                    "AffectedServiceClasses": {
                                        "type": "array",
                                        "description": "Array of affected service classes, use '/service-classes' to get available",
                                        "minItems": 1,
                                        "items": {
                                            "maxLength": 3,
                                            "minLength": 3,
                                            "type": "string",
                                            "example": "INT"
                                        }
                                    },
                                    "AffectedArea": {
                                        "type": "array",
                                        "example": [
                                            {
                                                "Type": "Subscriber",
                                                "Values": [
                                                    "000000100",
                                                    "000013525"
                                                ]
                                            },
                                            {
                                                "Type": "Headend",
                                                "Values": [
                                                    "000",
                                                    "001"
                                                ]
                                            },
                                            {
                                                "Type": "EquipmentID",
                                                "Values": [
                                                    "19195",
                                                    "987654321000"
                                                ]
                                            },
                                            {
                                                "Type": "PhoneNumber",
                                                "Values": [
                                                    "17606021916",
                                                    "17609671001"
                                                ]
                                            }
                                        ],
                                        "minItems": 1,
                                        "items": {
                                            "type": "object",
                                            "properties": {
                                                "Type": {
                                                    "type": "string",
                                                    "description": " 1. Franchise - franchise codes. 2. Headend - head end codes. 3. Hub - hub codes. 4. Node - node codes. 5. Subscriber - subscriber account numbers. 6. EquipmentID and EquipmentSerial - values without masks. 7. PhoneNumber - full phone number including country code.",
                                                    "enum": [
                                                        "Franchise",
                                                        "Headend",
                                                        "Hub",
                                                        "Node",
                                                        "Subscriber",
                                                        "EquipmentID",
                                                        "EquipmentSerial",
                                                        "PhoneNumber"
                                                    ]
                                                },
                                                "Values": {
                                                    "type": "array",
                                                    "minItems": 1,
                                                    "items": {
                                                        "type": "string",
                                                        "description": "Area identificator",
                                                        "minLength": 3,
                                                        "maxLength": 40
                                                    }
                                                }
                                            },
                                            "required": [
                                                "Type",
                                                "Values"
                                            ]
                                        }
                                    },
                                    "StartTime": {
                                        "type": "string",
                                        "description": "Start Date/Time",
                                        "format": "date-time"
                                    },
                                    "EstCloseTime": {
                                        "type": "string",
                                        "description": "Estimated Close Date/Time",
                                        "format": "date-time"
                                    },
                                    "Description": {
                                        "maxLength": 255,
                                        "type": "string",
                                        "description": "Outage Public Description"
                                    },
                                    "Reasons": {
                                        "type": "array",
                                        "description": "List of outage reasons, use '/reasons/outage' to get available reasons",
                                        "items": {
                                            "maxLength": 3,
                                            "minLength": 3,
                                            "type": "string",
                                            "description": "Reason code, use '/reasons/outage' to get available reasons",
                                            "example": "300"
                                        }
                                    }
                                },
                                "required": [
                                    "OutageType",
                                    "AffectedServiceClasses",
                                    "AffectedArea",
                                    "StartTime",
                                    "EstCloseTime"
                                ]
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "204": {
                        "description": "Successful Operation.",
                        "content": {}
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Invalid Outage ID": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2804",
                                            "errorMessage": "Invalid Outage ID"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ],
                "x-codegen-request-body-name": "body"
            }
        },
        "/outage/{OUTAGE}/cancel": {
            "delete": {
                "tags": [
                    "Outages"
                ],
                "summary": "Cancel outage",
                "description": "Cancel outage",
                "operationId": "CancelOutage",
                "parameters": [
                    {
                        "name": "OUTAGE",
                        "in": "path",
                        "description": "Outage ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "Authorization",
                        "in": "header",
                        "required": true,
                        "schema": {
                            "type": "string",
                            "default": "Basic dGVzdDpURVNU"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "Successful Operation.",
                        "content": {}
                    },
                    "400": {
                        "description": "The request was malformed",
                        "content": {}
                    },
                    "401": {
                        "description": "Unauthorized",
                        "content": {}
                    },
                    "404": {
                        "description": "Not Found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "required": [
                                        "errors"
                                    ],
                                    "type": "object",
                                    "properties": {
                                        "errors": {
                                            "type": "array",
                                            "items": {
                                                "type": "object",
                                                "properties": {
                                                    "status": {
                                                        "type": "string"
                                                    },
                                                    "errorCode": {
                                                        "type": "string"
                                                    },
                                                    "errorMessage": {
                                                        "maxLength": 255,
                                                        "type": "string"
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            },
                            "Invalid Outage ID": {
                                "example": {
                                    "errors": [
                                        {
                                            "status": "404",
                                            "errorCode": "2804",
                                            "errorMessage": "Invalid Outage ID"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal Server Error",
                        "content": {}
                    }
                },
                "security": [
                    {
                        "basicAuth": []
                    }
                ]
            }
        }
    },
    "components": {
        "schemas": {
            "PhoneNumber": {
                "type": "object",
                "properties": {
                    "PhoneNumber": {
                        "maxLength": 20,
                        "type": "string",
                        "description": "Phone Number",
                        "example": "(760) 385-4792"
                    },
                    "PhoneNumberType": {
                        "required": [
                            "Code",
                            "Name"
                        ],
                        "type": "object",
                        "properties": {
                            "Code": {
                                "maxLength": 3,
                                "minLength": 3,
                                "type": "string",
                                "example": "HOM"
                            },
                            "Name": {
                                "maxLength": 40,
                                "type": "string",
                                "example": "Home"
                            }
                        },
                        "description": "Phone Number Type"
                    }
                }
            },
            "Home": {
                "required": [
                    "DropConnected",
                    "Franchise",
                    "HeadEnd",
                    "Hub",
                    "PropertyType",
                    "TechRegion",
                    "VoIPRateCenter",
                    "Wired"
                ],
                "type": "object",
                "properties": {
                    "FullAddress": {
                        "maxLength": 765,
                        "type": "string",
                        "example": "721 Kimball Terrace San Ysidro CA 94636-9101"
                    },
                    "City": {
                        "maxLength": 40,
                        "type": "string",
                        "example": "San Ysidro"
                    },
                    "State": {
                        "maxLength": 3,
                        "type": "string",
                        "example": "CA"
                    },
                    "ZIP": {
                        "maxLength": 20,
                        "type": "string",
                        "description": "Zip Code",
                        "example": "94636"
                    },
                    "ZIPPlus4": {
                        "maxLength": 20,
                        "type": "string",
                        "description": "Zip Plus 4",
                        "example": "94636-9101"
                    },
                    "BlockFIPS": {
                        "maxLength": 15,
                        "type": "string",
                        "description": "15-digit census block FIPS code",
                        "example": "060730176041014"
                    },
                    "Franchise": {
                        "required": [
                            "Code",
                            "Name"
                        ],
                        "type": "object",
                        "properties": {
                            "Code": {
                                "maxLength": 3,
                                "minLength": 3,
                                "type": "string",
                                "example": "001"
                            },
                            "Name": {
                                "maxLength": 40,
                                "type": "string",
                                "example": "South Park1"
                            }
                        },
                        "description": "Franchise"
                    },
                    "PropertyType": {
                        "required": [
                            "Code",
                            "Name"
                        ],
                        "type": "object",
                        "properties": {
                            "Code": {
                                "maxLength": 3,
                                "minLength": 3,
                                "type": "string",
                                "example": "RES"
                            },
                            "Name": {
                                "maxLength": 40,
                                "type": "string",
                                "example": "Residential"
                            }
                        },
                        "description": "Property Type"
                    },
                    "HeadEnd": {
                        "required": [
                            "Code",
                            "Name"
                        ],
                        "type": "object",
                        "properties": {
                            "Code": {
                                "maxLength": 3,
                                "minLength": 3,
                                "type": "string",
                                "example": "HTS"
                            },
                            "Name": {
                                "maxLength": 40,
                                "type": "string",
                                "example": "Hits"
                            }
                        },
                        "description": "Head End"
                    },
                    "Hub": {
                        "required": [
                            "Code",
                            "Name"
                        ],
                        "type": "object",
                        "properties": {
                            "Code": {
                                "maxLength": 3,
                                "minLength": 3,
                                "type": "string",
                                "example": "HTS"
                            },
                            "Name": {
                                "maxLength": 40,
                                "type": "string",
                                "example": "Hits"
                            }
                        },
                        "description": "Hub"
                    },
                    "Node": {
                        "required": [
                            "Code",
                            "Name"
                        ],
                        "type": "object",
                        "properties": {
                            "Code": {
                                "maxLength": 3,
                                "minLength": 3,
                                "type": "string",
                                "example": "005"
                            },
                            "Name": {
                                "maxLength": 40,
                                "type": "string",
                                "example": "005"
                            }
                        },
                        "description": "Node"
                    },
                    "VoIPRateCenter": {
                        "required": [
                            "Code",
                            "Name"
                        ],
                        "type": "object",
                        "properties": {
                            "Code": {
                                "maxLength": 3,
                                "minLength": 3,
                                "type": "string",
                                "example": "DRC"
                            },
                            "Name": {
                                "maxLength": 40,
                                "type": "string",
                                "example": "Default"
                            }
                        },
                        "description": "VoIP Rate Center"
                    },
                    "DropTag": {
                        "maxLength": 10,
                        "type": "string",
                        "description": "Drop Tag",
                        "example": "LM89546"
                    },
                    "Wired": {
                        "type": "boolean",
                        "description": "Wired"
                    },
                    "DropConnected": {
                        "type": "boolean",
                        "description": "Drop Connected"
                    },
                    "TechRegion": {
                        "required": [
                            "Code",
                            "Name"
                        ],
                        "type": "object",
                        "properties": {
                            "Code": {
                                "maxLength": 3,
                                "minLength": 3,
                                "type": "string",
                                "example": "TRD"
                            },
                            "Name": {
                                "maxLength": 40,
                                "type": "string",
                                "example": "Default Tech Region"
                            }
                        },
                        "description": "Tech Region"
                    },
                    "SalesArea": {
                        "required": [
                            "Code",
                            "Name"
                        ],
                        "type": "object",
                        "properties": {
                            "Code": {
                                "maxLength": 3,
                                "minLength": 3,
                                "type": "string",
                                "example": "DFT"
                            },
                            "Name": {
                                "maxLength": 40,
                                "type": "string",
                                "example": "Default Sales Area"
                            }
                        },
                        "description": "Sales Area"
                    },
                    "ManagementArea": {
                        "required": [
                            "Code",
                            "Name"
                        ],
                        "type": "object",
                        "properties": {
                            "Code": {
                                "maxLength": 3,
                                "minLength": 3,
                                "type": "string",
                                "example": "DFT"
                            },
                            "Name": {
                                "maxLength": 40,
                                "type": "string",
                                "example": "Default Management Area"
                            }
                        },
                        "description": "Management Area"
                    }
                },
                "description": "Service Address"
            },
            "WorkOrderPeriod": {
                "type": "object",
                "properties": {
                    "Period": {
                        "type": "integer",
                        "description": "Period ID",
                        "example": 354
                    },
                    "PeriodStart": {
                        "type": "string",
                        "description": "Scheduled Period Start",
                        "format": "date-time",
                        "example": "2020-10-30T12:00:00.000Z"
                    },
                    "PeriodEnd": {
                        "type": "string",
                        "description": "Scheduled Period End",
                        "format": "date-time",
                        "example": "2020-10-30T17:00:00.000Z"
                    },
                    "PeriodDescription": {
                        "maxLength": 30,
                        "type": "string",
                        "description": "Scheduled Period Description",
                        "example": "12PM-5PM"
                    }
                }
            },
            "OutageDetails": {
                "type": "object",
                "properties": {
                    "ID": {
                        "type": "integer",
                        "description": "Outage ID",
                        "example": 1
                    },
                    "OutageStatus": {
                        "type": "string",
                        "description": "Outage Status",
                        "enum": [
                            "Open",
                            "Closed"
                        ]
                    },
                    "OutageType": {
                        "type": "string",
                        "description": "Outage Type",
                        "enum": [
                            "Planned",
                            "Unplanned"
                        ]
                    },
                    "Description": {
                        "maxLength": 80,
                        "type": "string",
                        "description": "Description"
                    },
                    "StartTime": {
                        "type": "string",
                        "description": "Start Date/Time",
                        "format": "date-time"
                    },
                    "EstCloseTime": {
                        "type": "string",
                        "description": "Estimated Close Date/Time",
                        "format": "date-time"
                    },
                    "ActualEndDate": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "Resolutions": {
                        "type": "array",
                        "description": "Resolution (if status is closed)",
                        "items": {
                            "type": "object",
                            "properties": {
                                "Code": {
                                    "maxLength": 3,
                                    "minLength": 3,
                                    "type": "string",
                                    "example": "001"
                                },
                                "Name": {
                                    "maxLength": 40,
                                    "type": "string",
                                    "example": "Resolution 1"
                                }
                            },
                            "required": [
                                "Code",
                                "Name"
                            ]
                        }
                    }
                },
                "required": [
                    "ID",
                    "OutageStatus",
                    "OutageType",
                    "StartTime"
                ]
            },
            "Outage": {
                "type": "object",
                "properties": {
                    "OutageType": {
                        "type": "string",
                        "description": "Outage Type",
                        "enum": [
                            "Planned",
                            "Unplanned"
                        ]
                    },
                    "AffectedServiceClasses": {
                        "type": "array",
                        "description": "Array of affected service classes, use '/service-classes' to get available",
                        "minItems": 1,
                        "items": {
                            "maxLength": 3,
                            "minLength": 3,
                            "type": "string",
                            "example": "INT"
                        }
                    },
                    "AffectedArea": {
                        "type": "array",
                        "example": [
                            {
                                "Type": "Subscriber",
                                "Values": [
                                    "000000100",
                                    "000013525"
                                ]
                            },
                            {
                                "Type": "Headend",
                                "Values": [
                                    "000",
                                    "001"
                                ]
                            },
                            {
                                "Type": "EquipmentID",
                                "Values": [
                                    "19195",
                                    "987654321000"
                                ]
                            },
                            {
                                "Type": "PhoneNumber",
                                "Values": [
                                    "17606021916",
                                    "17609671001"
                                ]
                            }
                        ],
                        "minItems": 1,
                        "items": {
                            "type": "object",
                            "properties": {
                                "Type": {
                                    "type": "string",
                                    "description": " 1. Franchise - franchise codes. 2. Headend - head end codes. 3. Hub - hub codes. 4. Node - node codes. 5. Subscriber - subscriber account numbers. 6. EquipmentID and EquipmentSerial - values without masks. 7. PhoneNumber - full phone number including country code.",
                                    "enum": [
                                        "Franchise",
                                        "Headend",
                                        "Hub",
                                        "Node",
                                        "Subscriber",
                                        "EquipmentID",
                                        "EquipmentSerial",
                                        "PhoneNumber"
                                    ]
                                },
                                "Values": {
                                    "type": "array",
                                    "minItems": 1,
                                    "items": {
                                        "type": "string",
                                        "description": "Area identificator",
                                        "minLength": 3,
                                        "maxLength": 40
                                    }
                                }
                            },
                            "required": [
                                "Type",
                                "Values"
                            ]
                        }
                    },
                    "StartTime": {
                        "type": "string",
                        "description": "Start Date/Time",
                        "format": "date-time"
                    },
                    "EstCloseTime": {
                        "type": "string",
                        "description": "Estimated Close Date/Time",
                        "format": "date-time"
                    },
                    "Description": {
                        "maxLength": 255,
                        "type": "string",
                        "description": "Outage Public Description"
                    },
                    "Reasons": {
                        "type": "array",
                        "description": "List of outage reasons, use '/reasons/outage' to get available reasons",
                        "items": {
                            "maxLength": 3,
                            "minLength": 3,
                            "type": "string",
                            "description": "Reason code, use '/reasons/outage' to get available reasons",
                            "example": "300"
                        }
                    }
                },
                "required": [
                    "OutageType",
                    "AffectedServiceClasses",
                    "AffectedArea",
                    "StartTime",
                    "EstCloseTime"
                ]
            },
            "404Error": {
                "required": [
                    "errors"
                ],
                "type": "object",
                "properties": {
                    "errors": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "properties": {
                                "status": {
                                    "type": "string"
                                },
                                "errorCode": {
                                    "type": "string"
                                },
                                "errorMessage": {
                                    "maxLength": 255,
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "parameters": {
            "ACCOUNT": {
                "name": "ACCOUNT",
                "in": "path",
                "description": "Subscriber Account #",
                "required": true,
                "schema": {
                    "maxLength": 9,
                    "minLength": 6,
                    "type": "string",
                    "pattern": "^[0-9]+",
                    "example": "123456203"
                }
            },
            "AUTHORIZATION": {
                "name": "Authorization",
                "in": "header",
                "required": true,
                "schema": {
                    "type": "string",
                    "default": "Basic dGVzdDpURVNU"
                }
            }
        },
        "securitySchemes": {
            "basicAuth": {
                "type": "http",
                "scheme": "basic"
            }
        }
    }
}