UNPKG

@itentialopensource/adapter-glds_customerexperiencegateway

Version:

This adapter integrates with system described as: GLDS Customer Experience Gateway.

1,712 lines (1,711 loc) 131 kB
{ "id": "@itentialopensource/adapter-glds_customerexperiencegateway", "type": "Adapter", "export": "GLDSCustomerExperienceGateway", "title": "GLDSCustomerExperienceGateway", "src": "adapter.js", "roles": [ "admin" ], "methods": [ { "name": "iapUpdateAdapterConfiguration", "summary": "Updates the adapter configuration", "description": "Updates the adapter configuration file with the provided changes", "input": [ { "name": "configFile", "type": "string", "info": "The name of the file to change", "required": true, "schema": { "title": "configFile", "type": "string" } }, { "name": "changes", "type": "object", "info": "JSON object containing the configuration changes", "required": true, "schema": { "title": "changes", "type": "object" } }, { "name": "entity", "type": "string", "info": "The entity in which the changes are being made", "required": false, "schema": { "title": "entity", "type": "string" } }, { "name": "type", "type": "string", "info": "The type of file to change - action, schema, or mock", "required": false, "schema": { "title": "type", "type": "string" } }, { "name": "action", "type": "string", "info": "The action to be changed", "required": false, "schema": { "title": "action", "type": "string" } }, { "name": "replace", "type": "boolean", "info": "True to replace entire mock data, false to merge/append", "required": false, "schema": { "title": "replace", "type": "boolean" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapUpdateAdapterConfiguration" }, "task": true }, { "name": "iapSuspendAdapter", "summary": "Suspends the adapter", "description": "Suspends the adapter", "input": [ { "name": "mode", "type": "enum", "enumerals": [ "pause", "error" ], "info": "How incoming requests are handled. Defaults to 'pause'", "description": "How incoming requests are handled. Defaults to 'pause'", "schema": { "title": "mode", "type": "string" }, "required": false } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the adapter suspended status", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapSuspendAdapter" }, "task": true }, { "name": "iapUnsuspendAdapter", "summary": "Unsuspends the adapter", "description": "Unsuspends the adapter", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the adapter suspended status", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapUnsuspendAdapter" }, "task": true }, { "name": "iapGetAdapterQueue", "summary": "Return the requests that are waiting in the queue if throttling is enabled", "description": "Return the requests that are waiting in the queue if throttling is enabled", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the adapter queue", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapGetAdapterQueue" }, "task": true }, { "name": "iapFindAdapterPath", "summary": "Provides the ability to see if a particular API path is supported by the adapter", "description": "Provides the ability to see if a particular API path is supported by the adapter", "input": [ { "name": "apiPath", "type": "string", "info": "The API Path you want to check - make sure to not include base path and version", "description": "The API Path you want to check - make sure to not include base path and version", "schema": { "title": "apiPath", "type": "string" }, "required": true } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapFindAdapterPath" }, "task": true }, { "name": "iapTroubleshootAdapter", "summary": "Runs troubleshoot script for adapter", "description": "Runs troubleshoot script for adapter", "input": [ { "name": "props", "type": "object", "info": "Object containing configuration, healthcheck and auth properties {'connProps':{'host': 'api.service.com', 'base_path': '/', 'protocol': 'http', 'port': 443, 'version': 'v1'},'healthCheckEndpoint': '/healthcheck', 'auth': {'auth_method': 'no authentication', 'username': 'username', 'password': 'password'}}", "required": true, "schema": { "title": "props", "type": "object" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the test results", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapTroubleshootAdapter" }, "task": true }, { "name": "iapRunAdapterHealthcheck", "summary": "Runs healthcheck script for adapter", "description": "Runs healthcheck script for adapter", "input": [], "output": { "name": "result", "type": "boolean", "description": "Whether healthcheck passed or failed", "schema": { "title": "result", "type": "boolean" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapRunAdapterHealthcheck" }, "task": true }, { "name": "iapRunAdapterConnectivity", "summary": "Runs connectivity check script for adapter", "description": "Runs connectivity check script for adapter", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the test results", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapRunAdapterConnectivity" }, "task": true }, { "name": "iapRunAdapterBasicGet", "summary": "Runs basicGet script for adapter", "description": "Runs basicGet script for adapter", "input": [ { "name": "maxCalls", "required": false, "type": "number", "info": "How many GET endpoints to test (defaults to 5)", "schema": { "title": "maxCalls", "type": "number", "default": 5 } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing the test results", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapRunAdapterBasicGet" }, "task": true }, { "name": "iapMoveAdapterEntitiesToDB", "summary": "Moves entities from an adapter into the Itential Platform database", "description": "Moves entities from an adapter into the Itential Platform database", "input": [], "output": { "name": "res", "type": "object", "description": "A JSON Object containing status, code and the response from the mongo transaction", "schema": { "title": "res", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapMoveAdapterEntitiesToDB" }, "task": true }, { "name": "iapDeactivateTasks", "summary": "Deactivate the inputted tasks", "description": "Deactivate the inputted tasks", "input": [ { "name": "tasks", "type": "array", "description": "Tasks to deactivate", "schema": { "title": "tasks", "type": "array" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing success status", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapDeactivateTasks" }, "task": true }, { "name": "iapActivateTasks", "summary": "Activate the inputted tasks", "description": "activate the inputted tasks", "input": [ { "name": "tasks", "type": "array", "description": "Tasks to activate", "schema": { "title": "tasks", "type": "array" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing success status", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapActivateTasks" }, "task": true }, { "name": "iapPopulateEntityCache", "summary": "Populate the cache for the given entities", "description": "Populate the cache for the given entities", "input": [ { "name": "entityTypes", "type": "array", "info": "the entity type(s) to populate", "required": true, "schema": { "title": "entityTypes", "type": "array" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapPopulateEntityCache" }, "task": true }, { "name": "iapRetrieveEntitiesCache", "summary": "Retrieves data from cache for specified entity type", "description": "Retrieves data from cache for specified entity type", "input": [ { "name": "entityType", "type": "string", "info": "entity of which to retrieve", "required": true, "schema": { "title": "entityType", "type": "string" } }, { "name": "options", "type": "object", "info": "settings of which data to return and how to return it", "required": false, "schema": { "title": "options", "type": "object" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapRetrieveEntitiesCache" }, "task": true }, { "name": "getDevice", "summary": "Get the Appliance", "description": "Get the Appliance", "input": [ { "name": "deviceName", "type": "string", "info": "An Appliance Device Name", "required": true, "schema": { "title": "deviceName", "type": "string" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/getDevice" }, "task": false }, { "name": "getDevicesFiltered", "summary": "Get Appliances that match the filter", "description": "Get Appliances that match the filter", "input": [ { "name": "options", "type": "object", "info": "options - e.g. { 'start': 1, 'limit': 20, 'filter': { 'name': 'abc123' } }", "required": true, "schema": { "title": "options", "type": "object" } } ], "output": { "name": "result", "type": "array", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "array" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/getDevicesFiltered" }, "task": false }, { "name": "isAlive", "summary": "Checks the status for the provided Appliance", "description": "Checks the status for the provided Appliance", "input": [ { "name": "deviceName", "type": "string", "info": "An Appliance Device Name", "required": true, "schema": { "title": "deviceName", "type": "string" } } ], "output": { "name": "result", "type": "boolean", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "boolean" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/isAlive" }, "task": false }, { "name": "getConfig", "summary": "Gets a config for the provided Appliance", "description": "Gets a config for the provided Appliance", "input": [ { "name": "deviceName", "type": "string", "info": "An Appliance Device Name", "required": true, "schema": { "title": "deviceName", "type": "string" } }, { "name": "format", "type": "string", "info": "The format to be returned - this is ignored as we always return json", "required": false, "schema": { "title": "format", "type": "string" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/getConfig" }, "task": false }, { "name": "iapGetDeviceCount", "summary": "Gets a device count from the system", "description": "Gets a device count from the system", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapGetDeviceCount" }, "task": false }, { "name": "iapExpandedGenericAdapterRequest", "summary": "Makes the requested generic call with additional options", "description": "Makes the requested generic call with additional options via metadata", "input": [ { "name": "metadata", "type": "object", "info": "metadata for the call (optional)", "description": "metadata for the call - allows for many enhancements (optional)", "schema": { "title": "metadata", "type": "object" }, "required": false }, { "name": "uriPath", "type": "string", "info": "the path of the api call - do not include the host, port, base path or version", "description": "the path of the api call", "schema": { "title": "uriPath", "type": "string" }, "required": false }, { "name": "restMethod", "type": "string", "info": "the rest method (GET, POST, PUT, PATCH, DELETE)", "description": "the rest method (GET, POST, PUT, PATCH, DELETE)", "schema": { "title": "restMethod", "type": "string" }, "required": false }, { "name": "pathVars", "type": "object", "info": "the parameters to be put within the url path (optional)", "description": "the parameters to be put within the url path (optional)", "schema": { "title": "pathVars", "type": "object" }, "required": false }, { "name": "queryData", "type": "object", "info": "the query parameters to be put on the url (optional)", "description": "the query parameters to be put on the url (optional)", "schema": { "title": "queryData", "type": "object" }, "required": false }, { "name": "requestBody", "type": "object", "info": "the payload to be sent with the request (optional)", "description": "the payload to be sent with the request (optional)", "schema": { "title": "requestBody", "type": "object" }, "required": false }, { "name": "addlHeaders", "type": "object", "info": "additional headers to be put on the call (optional)", "description": "additional headers to be put on the call (optional)", "schema": { "title": "addlHeaders", "type": "object" }, "required": false } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/iapExpandedGenericAdapterRequest" }, "task": true }, { "name": "genericAdapterRequest", "summary": "Makes the requested generic call", "description": "Makes the requested generic call", "input": [ { "name": "uriPath", "type": "string", "info": "the path of the api call - do not include the host, port, base path or version", "description": "the path of the api call", "schema": { "title": "uriPath", "type": "string" }, "required": true }, { "name": "restMethod", "type": "string", "info": "the rest method (GET, POST, PUT, PATCH, DELETE)", "description": "the rest method (GET, POST, PUT, PATCH, DELETE)", "schema": { "title": "restMethod", "type": "string" }, "required": true }, { "name": "queryData", "type": "object", "info": "the query parameters to be put on the url (optional)", "description": "the query parameters to be put on the url (optional)", "schema": { "title": "queryData", "type": "object" }, "required": false }, { "name": "requestBody", "type": "object", "info": "the payload to be sent with the request (optional)", "description": "the payload to be sent with the request (optional)", "schema": { "title": "requestBody", "type": "object" }, "required": false }, { "name": "addlHeaders", "type": "object", "info": "additional headers to be put on the call (optional)", "description": "additional headers to be put on the call (optional)", "schema": { "title": "addlHeaders", "type": "object" }, "required": false } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/genericAdapterRequest" }, "task": true }, { "name": "genericAdapterRequestNoBasePath", "summary": "Makes the requested generic call", "description": "Makes the requested generic call", "input": [ { "name": "uriPath", "type": "string", "info": "the path of the api call - do not include the host, port, base path or version", "description": "the path of the api call", "schema": { "title": "uriPath", "type": "string" }, "required": true }, { "name": "restMethod", "type": "string", "info": "the rest method (GET, POST, PUT, PATCH, DELETE)", "description": "the rest method (GET, POST, PUT, PATCH, DELETE)", "schema": { "title": "restMethod", "type": "string" }, "required": true }, { "name": "queryData", "type": "object", "info": "the query parameters to be put on the url (optional)", "description": "the query parameters to be put on the url (optional)", "schema": { "title": "queryData", "type": "object" }, "required": false }, { "name": "requestBody", "type": "object", "info": "the payload to be sent with the request (optional)", "description": "the payload to be sent with the request (optional)", "schema": { "title": "requestBody", "type": "object" }, "required": false }, { "name": "addlHeaders", "type": "object", "info": "additional headers to be put on the call (optional)", "description": "additional headers to be put on the call (optional)", "schema": { "title": "addlHeaders", "type": "object" }, "required": false } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/genericAdapterRequestNoBasePath" }, "task": true }, { "name": "iapRunAdapterLint", "summary": "Run the adapter lint script to return the results", "description": "Run the adapter lint script to return the results", "input": [], "output": { "name": "result", "type": "string", "description": "A string containing the run results", "schema": { "title": "result", "type": "string" } }, "roles": [ "admin" ], "route": { "verb": "GET", "path": "/iapRunAdapterLint" }, "task": true }, { "name": "iapRunAdapterTests", "summary": "Run the adapter test scripts (baseunit and unit) to return the results", "description": "Run the adapter test scripts (baseunit and unit) to return the results", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "GET", "path": "/iapRunAdapterTests" }, "task": true }, { "name": "iapGetAdapterInventory", "summary": "Provide inventory information abbout the adapter", "description": "Provide inventory information abbout the adapter", "input": [], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "schema": { "title": "result", "type": "object" } }, "roles": [ "admin" ], "route": { "verb": "GET", "path": "/iapGetAdapterInventory" }, "task": true }, { "name": "subscriberLookup", "summary": "Lookup subscriber", "description": "Lookup subscriber", "input": [ { "name": "externalID", "type": "string", "info": "External ID: string", "required": false, "schema": { "title": "externalID", "type": "string" } }, { "name": "phoneNumber", "type": "string", "info": "Unformated phone number without country code: string", "required": false, "schema": { "title": "phoneNumber", "type": "string" } }, { "name": "dL", "type": "string", "info": "Driver's license: string", "required": false, "schema": { "title": "dL", "type": "string" } }, { "name": "sSN", "type": "string", "info": "Social security number: string", "required": false, "schema": { "title": "sSN", "type": "string" } }, { "name": "lookupCode", "type": "string", "info": "PPV Lookup Code, unique per subscriber record: string", "required": false, "schema": { "title": "lookupCode", "type": "string" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "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" ] } } }, "roles": [ "admin" ], "route": { "verb": "POST", "path": "/subscriberLookup" }, "task": true }, { "name": "getSubscriber", "summary": "Get subscriber", "description": "Get subscriber", "input": [ { "name": "aCCOUNT", "type": "string", "info": "Subscriber Account #: string", "required": true, "schema": { "title": "aCCOUNT", "type": "string" } } ], "output": { "name": "result", "type": "object", "description": "A JSON Object containing status, code and the result", "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 },