{
  "openapi": "3.0.0",
  "info": {
    "title": "ATT API based on TMF689(v4.0.0) - Resource Portability - MSISDN",
    "description": "The ATT MSISDN Resource Portability API enables clients to initiate port in and port out requests of MSISDN resources, track the status of submitted requests, cancel a previously submitted request, or retrieve submitted port in/out requests. It is based on TMF689 - Resource Portability 4.0.0.",
    "version": "1.0.36"
  },
  "externalDocs": {
    "url": "http://",
    "description": "Based on TMF689 - Resource Portability 4.0.0.",
    "x-amf-title": "ATT MSISDN Resource Portability API"
  },
  "paths": {
    "/healthz": {
      "get": {
        "operationId": "health",
        "description": "Health Check",
        "summary": "Health Check",
        "responses": {
          "200": {
            "description": "Success",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "application_name": "tmf689-resourcePortability-msisdn",
                    "message": "Application up and running"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/portabilityOrder": {
      "get": {
        "operationId": "listPortabilityOrder",
        "description": "The GET /portabilityOrder interaction enables the client to list or find PortabilityOrder entities, i.e., all information related to a previously submitted POST /portabilityOrder request. With this interaction, the partner can obtain data necessary to analyze a current request in an attempt to resolve any issues and submit a subsequent PATCH portabilityOrder/{id} request. The client will send a request (following the request parameters outlined) and will get back a JSON object in the response (object structure shown in response section). If any exceptions occur, a HTTP error will be returned with a object describing the error in the body of the response. Only HTTPS protocol is allowed.",
        "summary": "Inquire Port",
        "parameters": [
          {
            "name": "Authorization",
            "description": "JWT Bearer Token. Token URL: https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-0f3b32b07556/oauth2/v2.0/token \r\n\r\n See example below.\r\n\r\n\ncurl --location --request POST 'https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-0f3b32b07556/oauth2/v2.0/token'  \r\n --header 'Content-Type: application/x-www-form-urlencoded'  \r\n --header 'Cookie: fpc=Aswi39iZZIlGtV66yM1qCANKExLGAQAAAOqRbtgOAAAA; stsservicecookie=estsfd; x-ms-gateway-slice=estsfd'  \r\n --data-urlencode 'scope=api://testHarnessCustomersStage1/.default'  \r\n --data-urlencode 'grant_type=client_credentials'  \r\n --data-urlencode 'client_id=6bb2748d-d916-4534-5148-ee8f598e1e00'  \r\n --data-urlencode 'client_secret=k_43YrZE2S2v9o6__e.KOKc_V4h__csa3M' \r\n\r\n Note: client id/secret are not the right ones - contact API provider, via 'Request Access' button to get the correct on",
            "required": true,
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Accept",
            "description": "Specifies the media type as \"application/json\".",
            "required": true,
            "in": "header",
            "schema": {
              "type": "string",
              "default": "application/json"
            }
          },
          {
            "name": "X-ATT-CorrelationId",
            "description": "Recommended format is 32 hexadecimal characters GUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX).",
            "required": false,
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-amf-queryString": {
          "anyOf": [
            {
              "properties": {
                "portRequestNumber": {
                  "description": "Port request number input value used to query an existing port.",
                  "type": "string",
                  "maxLength": 16,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": true
                },
                "portRequestVersion": {
                  "description": "Input values used to query an existing port.",
                  "type": "string",
                  "maxLength": 2,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "teleportPortRecordId": {
                  "description": "Input values used to query an existing port.",
                  "type": "string",
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "portPath": {
                  "description": "This can be either 'O' -PortOut; 'I'-PortIn; if not populated it is considered PortIn 'I'.",
                  "enum": [
                    "O",
                    "I"
                  ],
                  "type": "string",
                  "required": false
                },
                "serviceZipCode": {
                  "description": "Service area zip code for primary subscriber.",
                  "type": "string",
                  "minLength": 5,
                  "maxLength": 5,
                  "pattern": "\\d{5}",
                  "required": true
                },
                "@type": {
                  "description": "Type of the request. To be consistant with TMF spec.",
                  "enum": [
                    "MSISDN"
                  ],
                  "type": "string",
                  "required": false
                }
              }
            },
            {
              "properties": {
                "portRequestNumber": {
                  "description": "Port request number input value used to query an existing port.",
                  "type": "string",
                  "maxLength": 16,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": true
                },
                "portRequestVersion": {
                  "description": "Input values used to query an existing port.",
                  "type": "string",
                  "maxLength": 2,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "teleportPortRecordId": {
                  "description": "Input values used to query an existing port.",
                  "type": "string",
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "portPath": {
                  "description": "This can be either 'O' -PortOut; 'I'-PortIn; if not populated it is considered PortIn 'I'.",
                  "enum": [
                    "O",
                    "I"
                  ],
                  "type": "string",
                  "required": false
                },
                "billingMarket": {
                  "description": "Billing market.",
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 3,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": true
                },
                "billingSubMarket": {
                  "description": "Billing submarket.",
                  "type": "string",
                  "maxLength": 3,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "@type": {
                  "description": "Type of the request. To be consistant with TMF spec.",
                  "enum": [
                    "MSISDN"
                  ],
                  "type": "string",
                  "required": false
                }
              }
            },
            {
              "properties": {
                "subscriberNumber": {
                  "description": "Mobile Telephone Number associated with this request.",
                  "type": "string",
                  "minLength": 10,
                  "maxLength": 10,
                  "pattern": "\\d{10}",
                  "required": true
                },
                "portPath": {
                  "description": "This can be either 'O' -PortOut; 'I'-PortIn; if not populated it is considered PortIn 'I'.",
                  "enum": [
                    "O",
                    "I"
                  ],
                  "type": "string",
                  "required": false
                },
                "serviceZipCode": {
                  "description": "Service area zip code for primary subscriber.",
                  "type": "string",
                  "minLength": 5,
                  "maxLength": 5,
                  "pattern": "\\d{5}",
                  "required": false
                },
                "billingMarket": {
                  "description": "Billing market.",
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 3,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "billingSubMarket": {
                  "description": "Billing submarket.",
                  "type": "string",
                  "maxLength": 3,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "@type": {
                  "description": "Type of the request. To be consistant with TMF spec.",
                  "enum": [
                    "MSISDN"
                  ],
                  "type": "string",
                  "required": false
                }
              }
            },
            {
              "properties": {
                "fromDate": {
                  "description": "From date.",
                  "example": "2023-10-25",
                  "type": "date-only",
                  "required": true
                },
                "toDate": {
                  "description": "To Date.",
                  "example": "2023-10-25",
                  "type": "date-only",
                  "required": true
                },
                "portPath": {
                  "description": "This must be 'O' for date range queries.",
                  "enum": [
                    "O"
                  ],
                  "type": "string",
                  "required": true
                },
                "serviceZipCode": {
                  "description": "Service area zip code for primary subscriber.",
                  "type": "string",
                  "minLength": 5,
                  "maxLength": 5,
                  "pattern": "\\d{5}",
                  "required": true
                },
                "@type": {
                  "description": "Type of the request. To be consistant with TMF spec.",
                  "enum": [
                    "MSISDN"
                  ],
                  "type": "string",
                  "required": false
                }
              }
            },
            {
              "properties": {
                "fromDate": {
                  "description": "From date.",
                  "example": "2023-10-25",
                  "type": "date-only",
                  "required": true
                },
                "toDate": {
                  "description": "To Date.",
                  "example": "2023-10-25",
                  "type": "date-only",
                  "required": true
                },
                "portPath": {
                  "description": "This must be 'O' for date range queries.",
                  "enum": [
                    "O"
                  ],
                  "type": "string",
                  "required": true
                },
                "billingMarket": {
                  "description": "Billing market.",
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 3,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": true
                },
                "billingSubMarket": {
                  "description": "Billing submarket.",
                  "type": "string",
                  "maxLength": 3,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "@type": {
                  "description": "Type of the request. To be consistant with TMF spec.",
                  "enum": [
                    "MSISDN"
                  ],
                  "type": "string",
                  "required": false
                }
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Success",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MSISDNPortabilityOrder"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "406": {
            "description": "Unacceptable request body.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "406",
                    "reason": "Not Acceptable",
                    "error": "Not Acceptable",
                    "status": "406-UNACCEPTABLE-TMF689"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "415": {
            "description": "Bad Content-Type header. Unsupported media type.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "415",
                    "reason": "Unsupported mediaType",
                    "message": "Unsupported mediaType",
                    "status": "415-UNSUPPORTED_MEDIA_TYPE-TMF689"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Error communicating with JWKS server.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "503",
                    "reason": "Internal Server Error",
                    "message": "Internal Server Error",
                    "status": "503-INTERNAL SERVER_ERROR-TMF689"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ATT-Azure-AD-JWT-Token": []
          }
        ]
      },
      "post": {
        "operationId": "createPortabilityOrder",
        "description": "This operation creates a PortabilityOrder entity.",
        "summary": "Add Port",
        "parameters": [
          {
            "name": "@type",
            "description": "Type of the request. To be consistant with TMF spec.",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "MSISDN"
              ]
            }
          },
          {
            "name": "Authorization",
            "description": "JWT Bearer Token. Token URL: https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-0f3b32b07556/oauth2/v2.0/token \r\n\r\n See example below.\r\n\r\n\ncurl --location --request POST 'https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-0f3b32b07556/oauth2/v2.0/token'  \r\n --header 'Content-Type: application/x-www-form-urlencoded'  \r\n --header 'Cookie: fpc=Aswi39iZZIlGtV66yM1qCANKExLGAQAAAOqRbtgOAAAA; stsservicecookie=estsfd; x-ms-gateway-slice=estsfd'  \r\n --data-urlencode 'scope=api://testHarnessCustomersStage1/.default'  \r\n --data-urlencode 'grant_type=client_credentials'  \r\n --data-urlencode 'client_id=6bb2748d-d916-4534-5148-ee8f598e1e00'  \r\n --data-urlencode 'client_secret=k_43YrZE2S2v9o6__e.KOKc_V4h__csa3M' \r\n\r\n Note: client id/secret are not the right ones - contact API provider, via 'Request Access' button to get the correct on",
            "required": true,
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Accept",
            "description": "Specifies the media type as \"application/json\".",
            "required": true,
            "in": "header",
            "schema": {
              "type": "string",
              "default": "application/json"
            }
          },
          {
            "name": "X-ATT-CorrelationId",
            "description": "Recommended format is 32 hexadecimal characters GUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX).",
            "required": false,
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MSISDNPortabilityOrder_AddPort"
              }
            }
          },
          "x-amf-mediaType": "application/json"
        },
        "responses": {
          "201": {
            "description": "Created",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MSISDNPortabilityOrder"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Requested resource no found.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "404",
                    "reason": "Requested resource no found.",
                    "message": "Requested resource no found.",
                    "status": "404-NOT_FOUND-TMF689"
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "406": {
            "description": "Unacceptable request body.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "406",
                    "reason": "Not Acceptable",
                    "error": "Not Acceptable",
                    "status": "406-UNACCEPTABLE-TMF689"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "415": {
            "description": "Bad Content-Type header. Unsupported media type.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "415",
                    "reason": "Unsupported mediaType",
                    "message": "Unsupported mediaType",
                    "status": "415-UNSUPPORTED_MEDIA_TYPE-TMF689"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Error communicating with JWKS server.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "503",
                    "reason": "Internal Server Error",
                    "message": "Internal Server Error",
                    "status": "503-INTERNAL SERVER_ERROR-TMF689"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ATT-Azure-AD-JWT-Token": []
          }
        ]
      }
    },
    "/portabilityOrder/{id}": {
      "get": {
        "operationId": "retrievePortabilityActivationOrderById",
        "description": "This operation retrieves a PortabilityOrder request status using the portRequestNumber or subscriberNumber as \\{id\\}.",
        "summary": "Inquire Port by ID",
        "parameters": [
          {
            "name": "id",
            "description": "\\{id\\} is the portRequestNumber or subscriberNumber used to identify a previously submitted port request.",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string",
              "maxLength": 16,
              "pattern": "^[?-~ -%'-;=]{0,200}$"
            }
          },
          {
            "name": "Authorization",
            "description": "JWT Bearer Token. Token URL: https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-0f3b32b07556/oauth2/v2.0/token \r\n\r\n See example below.\r\n\r\n\ncurl --location --request POST 'https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-0f3b32b07556/oauth2/v2.0/token'  \r\n --header 'Content-Type: application/x-www-form-urlencoded'  \r\n --header 'Cookie: fpc=Aswi39iZZIlGtV66yM1qCANKExLGAQAAAOqRbtgOAAAA; stsservicecookie=estsfd; x-ms-gateway-slice=estsfd'  \r\n --data-urlencode 'scope=api://testHarnessCustomersStage1/.default'  \r\n --data-urlencode 'grant_type=client_credentials'  \r\n --data-urlencode 'client_id=6bb2748d-d916-4534-5148-ee8f598e1e00'  \r\n --data-urlencode 'client_secret=k_43YrZE2S2v9o6__e.KOKc_V4h__csa3M' \r\n\r\n Note: client id/secret are not the right ones - contact API provider, via 'Request Access' button to get the correct on",
            "required": true,
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Accept",
            "description": "Specifies the media type as \"application/json\".",
            "required": true,
            "in": "header",
            "schema": {
              "type": "string",
              "default": "application/json"
            }
          },
          {
            "name": "X-ATT-CorrelationId",
            "description": "Recommended format is 32 hexadecimal characters GUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX).",
            "required": false,
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "x-amf-queryString": {
          "anyOf": [
            {
              "properties": {
                "idType": {
                  "description": "Set to PortRequestNumber to qualify the type of id in the request.",
                  "enum": [
                    "PortRequestNumber"
                  ],
                  "type": "string",
                  "required": false
                },
                "portRequestVersion": {
                  "description": "Input values used to query an existing port.",
                  "type": "string",
                  "maxLength": 2,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "teleportPortRecordId": {
                  "description": "Input values used to query an existing port.",
                  "type": "string",
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "serviceZipCode": {
                  "description": "Service area zip code for primary subscriber.",
                  "type": "string",
                  "minLength": 5,
                  "maxLength": 5,
                  "pattern": "\\d{5}",
                  "required": true
                },
                "@type": {
                  "description": "Type of the request. To be consistant with TMF spec.",
                  "enum": [
                    "MSISDN"
                  ],
                  "type": "string",
                  "required": false
                }
              }
            },
            {
              "properties": {
                "idType": {
                  "description": "Set to PortRequestNumber to qualify the type of id in the request.",
                  "enum": [
                    "PortRequestNumber"
                  ],
                  "type": "string",
                  "required": false
                },
                "portRequestVersion": {
                  "description": "Input values used to query an existing port.",
                  "type": "string",
                  "maxLength": 2,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "teleportPortRecordId": {
                  "description": "Input values used to query an existing port.",
                  "type": "string",
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "billingMarket": {
                  "description": "Billing market.",
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 3,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": true
                },
                "billingSubMarket": {
                  "description": "Billing submarket.",
                  "type": "string",
                  "maxLength": 3,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "@type": {
                  "description": "Type of the request. To be consistant with TMF spec.",
                  "enum": [
                    "MSISDN"
                  ],
                  "type": "string",
                  "required": false
                }
              }
            },
            {
              "properties": {
                "idType": {
                  "description": "Set to MSISDN to qualify the type of id in the request.",
                  "enum": [
                    "MSISDN"
                  ],
                  "type": "string",
                  "required": true
                },
                "accountNumber": {
                  "description": "Input values used to query an existing port.",
                  "type": "string",
                  "minLength": 8,
                  "maxLength": 13,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "serviceZipCode": {
                  "description": "Service area zip code for primary subscriber.",
                  "type": "string",
                  "minLength": 5,
                  "maxLength": 5,
                  "pattern": "\\d{5}",
                  "required": false
                },
                "billingMarket": {
                  "description": "Billing market.",
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 3,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "billingSubMarket": {
                  "description": "Billing submarket.",
                  "type": "string",
                  "maxLength": 3,
                  "pattern": "[?-~ -%'-;=]{0,200}",
                  "required": false
                },
                "@type": {
                  "description": "Type of the request. To be consistant with TMF spec.",
                  "enum": [
                    "MSISDN"
                  ],
                  "type": "string",
                  "required": false
                }
              }
            }
          ]
        },
        "responses": {
          "200": {
            "description": "Success",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MSISDNPortabilityOrder"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "406": {
            "description": "Unacceptable request body.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "406",
                    "reason": "Not Acceptable",
                    "error": "Not Acceptable",
                    "status": "406-UNACCEPTABLE-TMF689"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "415": {
            "description": "Bad Content-Type header. Unsupported media type.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "415",
                    "reason": "Unsupported mediaType",
                    "message": "Unsupported mediaType",
                    "status": "415-UNSUPPORTED_MEDIA_TYPE-TMF689"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Error communicating with JWKS server.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "503",
                    "reason": "Internal Server Error",
                    "message": "Internal Server Error",
                    "status": "503-INTERNAL SERVER_ERROR-TMF689"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ATT-Azure-AD-JWT-Token": []
          }
        ]
      },
      "patch": {
        "operationId": "patchPortabilityOrder",
        "description": "This operation updates partially a PortabilityOrder entity.",
        "summary": "Update Port",
        "parameters": [
          {
            "name": "idType",
            "description": "Defaults to PortRequestNumber. If the {id} URI parameter provided is a subscriberNumber, set to MSISDN.",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "MSISDN",
                "PortRequestNumber"
              ]
            }
          },
          {
            "name": "@type",
            "description": "Type of the request. To be consistant with TMF spec.",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "MSISDN"
              ]
            }
          },
          {
            "name": "id",
            "description": "\\{id\\} is the portRequestNumber or subscriberNumber used to identify a previously submitted port request.",
            "required": true,
            "in": "path",
            "schema": {
              "type": "string",
              "maxLength": 16,
              "pattern": "^[?-~ -%'-;=]{0,200}$"
            }
          },
          {
            "name": "Authorization",
            "description": "JWT Bearer Token. Token URL: https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-0f3b32b07556/oauth2/v2.0/token \r\n\r\n See example below.\r\n\r\n\ncurl --location --request POST 'https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-0f3b32b07556/oauth2/v2.0/token'  \r\n --header 'Content-Type: application/x-www-form-urlencoded'  \r\n --header 'Cookie: fpc=Aswi39iZZIlGtV66yM1qCANKExLGAQAAAOqRbtgOAAAA; stsservicecookie=estsfd; x-ms-gateway-slice=estsfd'  \r\n --data-urlencode 'scope=api://testHarnessCustomersStage1/.default'  \r\n --data-urlencode 'grant_type=client_credentials'  \r\n --data-urlencode 'client_id=6bb2748d-d916-4534-5148-ee8f598e1e00'  \r\n --data-urlencode 'client_secret=k_43YrZE2S2v9o6__e.KOKc_V4h__csa3M' \r\n\r\n Note: client id/secret are not the right ones - contact API provider, via 'Request Access' button to get the correct on",
            "required": true,
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Accept",
            "description": "Specifies the media type as \"application/json\".",
            "required": true,
            "in": "header",
            "schema": {
              "type": "string",
              "default": "application/json"
            }
          },
          {
            "name": "X-ATT-CorrelationId",
            "description": "Recommended format is 32 hexadecimal characters GUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX).",
            "required": false,
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MSISDNPortabilityOrder_UpdatePort"
              }
            }
          },
          "x-amf-mediaType": "application/json"
        },
        "responses": {
          "200": {
            "description": "Success",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MSISDNPortabilityOrder"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "406": {
            "description": "Unacceptable request body.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "406",
                    "reason": "Not Acceptable",
                    "error": "Not Acceptable",
                    "status": "406-UNACCEPTABLE-TMF689"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "415": {
            "description": "Bad Content-Type header. Unsupported media type.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "415",
                    "reason": "Unsupported mediaType",
                    "message": "Unsupported mediaType",
                    "status": "415-UNSUPPORTED_MEDIA_TYPE-TMF689"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Error communicating with JWKS server.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "503",
                    "reason": "Internal Server Error",
                    "message": "Internal Server Error",
                    "status": "503-INTERNAL SERVER_ERROR-TMF689"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ATT-Azure-AD-JWT-Token": []
          }
        ]
      }
    },
    "/cancelPortabilityOrder": {
      "post": {
        "operationId": "createCancelPortabilityOrder",
        "description": "This operation creates a CancelPortabilityOrder entity.",
        "summary": "Cancel Port",
        "parameters": [
          {
            "name": "@type",
            "description": "Type of the request. To be consistant with TMF spec.",
            "required": false,
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "MSISDN"
              ]
            }
          },
          {
            "name": "Authorization",
            "description": "JWT Bearer Token. Token URL: https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-0f3b32b07556/oauth2/v2.0/token \r\n\r\n See example below.\r\n\r\n\ncurl --location --request POST 'https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-0f3b32b07556/oauth2/v2.0/token'  \r\n --header 'Content-Type: application/x-www-form-urlencoded'  \r\n --header 'Cookie: fpc=Aswi39iZZIlGtV66yM1qCANKExLGAQAAAOqRbtgOAAAA; stsservicecookie=estsfd; x-ms-gateway-slice=estsfd'  \r\n --data-urlencode 'scope=api://testHarnessCustomersStage1/.default'  \r\n --data-urlencode 'grant_type=client_credentials'  \r\n --data-urlencode 'client_id=6bb2748d-d916-4534-5148-ee8f598e1e00'  \r\n --data-urlencode 'client_secret=k_43YrZE2S2v9o6__e.KOKc_V4h__csa3M' \r\n\r\n Note: client id/secret are not the right ones - contact API provider, via 'Request Access' button to get the correct on",
            "required": true,
            "in": "header",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Accept",
            "description": "Specifies the media type as \"application/json\".",
            "required": true,
            "in": "header",
            "schema": {
              "type": "string",
              "default": "application/json"
            }
          },
          {
            "name": "X-ATT-CorrelationId",
            "description": "Recommended format is 32 hexadecimal characters GUID (XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX).",
            "required": false,
            "in": "header",
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MSISDNCancelPortabilityOrder"
              }
            }
          },
          "x-amf-mediaType": "application/json"
        },
        "responses": {
          "201": {
            "description": "Created",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MSISDNCancelPortabilityOrder"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Requested resource no found.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "404",
                    "reason": "Requested resource no found.",
                    "message": "Requested resource no found.",
                    "status": "404-NOT_FOUND-TMF689"
                  }
                }
              }
            }
          },
          "405": {
            "description": "Method Not allowed",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "406": {
            "description": "Unacceptable request body.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "406",
                    "reason": "Not Acceptable",
                    "error": "Not Acceptable",
                    "status": "406-UNACCEPTABLE-TMF689"
                  }
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "415": {
            "description": "Bad Content-Type header. Unsupported media type.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "415",
                    "reason": "Unsupported mediaType",
                    "message": "Unsupported mediaType",
                    "status": "415-UNSUPPORTED_MEDIA_TYPE-TMF689"
                  }
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Error communicating with JWKS server.",
            "x-amf-mediaType": "application/json",
            "content": {
              "application/json": {
                "schema": {
                  "example": {
                    "code": "503",
                    "reason": "Internal Server Error",
                    "message": "Internal Server Error",
                    "status": "503-INTERNAL SERVER_ERROR-TMF689"
                  }
                }
              }
            }
          }
        },
        "security": [
          {
            "ATT-Azure-AD-JWT-Token": []
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "ATT-Azure-AD-JWT-Token": {
        "type": "oauth2",
        "description": "Get a JWT Token from AT&T's Azure AD",
        "x-amf-describedBy": {
          "headers": {
            "Authorization": {
              "description": "JWT Bearer Token",
              "type": "string"
            }
          },
          "responses": {
            "200": {
              "body": {
                "application/json": {
                  "description": "Dummy token below. Real token is much longer with more relevant info",
                  "properties": {
                    "token_type": {
                      "default": "Bearer",
                      "example": "Bearer",
                      "type": "string"
                    },
                    "expires_in": {
                      "example": 3599,
                      "type": "number",
                      "format": "int"
                    },
                    "ext_expires_in": {
                      "example": 3599,
                      "type": "number",
                      "format": "int"
                    },
                    "access_token": {
                      "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c",
                      "type": "string"
                    }
                  }
                }
              }
            },
            "400": {
              "body": {
                "application/json": {
                  "description": "Only an example of 400 Error body",
                  "properties": {
                    "error": {
                      "example": "unauthorized_client",
                      "type": "string"
                    },
                    "error_description": {
                      "example": "AADSTS700016: Application with identifier '6bb2748d-d916-4534-9145-ee8f598d2e01' was not found in the directory 'e741d71c-c6b6-47b0-803c-0f3b32b07556'. This can happen if the application has not been installed by the administrator of the tenant or consented to by any user in the tenant. You may have sent your authentication request to the wrong tenant.\\r\\nTrace ID: b82bea2f-5ee3-48a4-9774-4143176a6900\\r\\nCorrelation ID: b57403ef-e775-49f6-b40f-009ba759c301\\r\\nTimestamp: 2021-06-30 21:12:34Z",
                      "type": "string"
                    },
                    "error_codes": {
                      "items": {
                        "example": 700016,
                        "type": "number",
                        "format": "int"
                      }
                    },
                    "timestamp": {
                      "example": "2021-06-30 21:12:34Z",
                      "type": "string"
                    },
                    "trace_id": {
                      "example": "b82bea2f-5ee3-48a4-9774-4143176a6900",
                      "type": "string"
                    },
                    "correlation_id": {
                      "example": "b57403ef-e775-49f6-b40f-009ba759c301",
                      "type": "string"
                    },
                    "error_uri": {
                      "example": "https://login.microsoftonline.com/error?code=700016",
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "x-amf-settings": {
          "authorizationGrants": [
            "client_credentials"
          ]
        },
        "flows": {
          "clientCredentials": {
            "tokenUrl": "https://login.microsoftonline.com/e741d71c-c6b6-47b0-803c-0f3b32b07556/oauth2/v2.0/token",
            "scopes": {
              "*": ""
            }
          }
        }
      }
    },
    "schemas": {
      "MSISDNPortabilityOrder": {
        "title": "MSISDNPortabilityOrder",
        "type": "object",
        "properties": {
          "immediateAct": {
            "title": "ImmediateActInfo",
            "description": "U -Unpark the ACT P -Park the ACT. For port inquiry if the porting process is parked/suspended in the biller this field will override the portRequestStatus/portRequestLineStatus returned in the response.",
            "enum": [
              "P",
              "U"
            ],
            "type": "string",
            "maxLength": 1
          },
          "serviceProviderInfo": {
            "$ref": "#/components/schemas/ServiceProviderInfo"
          },
          "marketServiceInfo": {
            "$ref": "#/components/schemas/MarketServiceInfo_Choice"
          },
          "href": {
            "description": "Hyperlink to access the order.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "state": {
            "$ref": "#/components/schemas/PortabilityOrderStateType"
          },
          "delayCode": {
            "$ref": "#/components/schemas/SafeString"
          },
          "termsConditionStatus": {
            "title": "TermsConditionsStatusInfo",
            "description": "\"W\" - WEB Accepted, \"S\" - Physical Signature, \"P\" - Pending (regular activations), \"Y\" - Required, but pending (WLNP only).",
            "enum": [
              "B",
              "C",
              "E",
              "I",
              "N",
              "P",
              "S",
              "T",
              "V",
              "W",
              "X",
              "Y"
            ],
            "type": "string"
          },
          "requestRemarks": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "maxLength": 160
          },
          "dispute": {
            "type": "boolean"
          },
          "errorType": {
            "$ref": "#/components/schemas/SafeString"
          },
          "externalId": {
            "description": "ID given by the consumer and only understandable by him (to facilitate his searches afterwards).",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "code": {
            "type": "number"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "messageCd": {
            "$ref": "#/components/schemas/SafeString"
          },
          "orderRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityOrderRelationship"
            }
          },
          "requestedStartDate": {
            "description": "Order fulfillment start date wished by the requestor. This is used when, for any reason, requestor cannot allow seller to begin to operationally begin the fulfillment before a date.",
            "type": "string",
            "format": "date-time"
          },
          "oldResName": {
            "$ref": "#/components/schemas/SafeString"
          },
          "portabilitySubject": {
            "$ref": "#/components/schemas/PortabilitySubject_extended"
          },
          "commission": {
            "$ref": "#/components/schemas/Commission"
          },
          "portPath": {
            "$ref": "#/components/schemas/SafeString"
          },
          "portRequestNumber": {
            "description": "Industry-standard PON identifier associated to this Portability request.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "ID created on repository side.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "telportRecordId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "desiredDueTime": {
            "$ref": "#/components/schemas/SafeString"
          },
          "relatedParty": {
            "description": "This will store customer data for port-in requests; not needed for port-out requests.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedParty"
            }
          },
          "portCreationDate": {
            "$ref": "#/components/schemas/SafeString"
          },
          "orderItem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MSISDNPortabilityOrderItem_extended"
            }
          },
          "portCancellationReasonCode": {
            "$ref": "#/components/schemas/SafeString"
          },
          "totalNumberOfSubscriberNumbers": {
            "$ref": "#/components/schemas/TotalNumberOfSubscriberNumbersInfo"
          },
          "stateReasonDescription": {
            "description": "State reason description",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "lastModificationDate": {
            "description": "Date when the order was last modified.",
            "type": "string",
            "format": "date-time"
          },
          "portDirection": {
            "title": "PortDirectionInfo",
            "description": "Wireline to Wireline = A, Wireless to Wireless = B, Wireless to Wireline = C, Wireline to Wireless = D.",
            "enum": [
              "A",
              "B",
              "C",
              "D"
            ],
            "type": "string",
            "maxLength": 1
          },
          "expectedCompletionDate": {
            "description": "Expected delivery date amended by the provider.",
            "type": "string",
            "format": "date-time"
          },
          "requestedCompletionDate": {
            "description": "Date at which the requestor wishes the portability to take place.",
            "type": "string",
            "format": "date-time"
          },
          "completionDate": {
            "description": "Date when the order was completed",
            "type": "string",
            "format": "date-time"
          },
          "serviceProvider": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityServiceProvider"
            }
          },
          "desiredDueDate": {
            "description": "The desired due date. If not provided, the current date will be used",
            "type": "string",
            "format": "date-time"
          },
          "operatorId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "contract": {
            "$ref": "#/components/schemas/Contract"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class Extensible name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "orderDate": {
            "description": "Date at which the PortabilityOrder has been created.",
            "type": "string",
            "format": "date-time"
          },
          "note": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "stateReason": {
            "description": "State reason short code.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "authorizationDate": {
            "description": "Date at which the PortabilityOrder has been authorized by the customer.",
            "type": "string",
            "format": "date-time"
          },
          "portRequestNumberVersion": {
            "description": "Current version of the industry-standard request.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "portRequestStatus": {
            "$ref": "#/components/schemas/SafeString"
          },
          "priority": {
            "$ref": "#/components/schemas/PortabilityPriorityType"
          },
          "description": {
            "description": "Description of the product order.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "groupRequestNumber": {
            "$ref": "#/components/schemas/SafeString"
          },
          "initiatorId": {
            "$ref": "#/components/schemas/PortInitiatorIdInfo"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "operationId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "actionId": {
            "$ref": "#/components/schemas/SafeString"
          }
        }
      },
      "Error": {
        "title": "Error",
        "description": "Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx)",
        "x-amf-examples": {
          "example_2": {
            "code": "405",
            "reason": "HTTP Method get not allowed",
            "message": "HTTP Method get not allowed",
            "status": "405-METHOD_NOT_ALLOWED-TMF689"
          },
          "amf_example_1": {
            "code": "400",
            "reason": "JWT Token is required",
            "message": "JWT Token is required",
            "status": "400-UNAUTHORIZED-TMF689"
          },
          "example_1": {
            "code": "401",
            "reason": "Invalid token",
            "message": "Invalid token",
            "status": "401-UNAUTHORIZED-TMF689"
          },
          "amf_example_2": {
            "code": "404",
            "reason": "Requested resource no found.",
            "message": "Requested resource no found.",
            "status": "404-NOT_FOUND-TMF689"
          },
          "example_0": {
            "code": "403",
            "reason": "Forbidden",
            "message": "Forbidden",
            "status": "403-FORBIDDEN-TMF689"
          },
          "amf_example_3": {
            "code": "500",
            "reason": "Internal Server Error",
            "message": "Internal Server Error",
            "status": "500-INTERNAL SERVER_ERROR-TMF689"
          }
        },
        "type": "object",
        "required": [
          "code",
          "reason"
        ],
        "properties": {
          "code": {
            "description": "Application relevant detail, defined in the API or a common list.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "reason": {
            "description": "Explanation of the reason for the error which can be shown to a client user.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "message": {
            "description": "More details and corrective actions related to the error which can be shown to a client user.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "status": {
            "description": "HTTP Error code extension",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "referenceError": {
            "description": "URI of documentation describing the error.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "MSISDNPortabilityOrder_AddPort": {
        "title": "MSISDNPortabilityOrderBase",
        "x-amf-examples": {
          "input": {
            "value": {
              "immediateAct": "P",
              "serviceProviderInfo": {
                "localId": "sdff",
                "networkId": "stfd",
                "resellerName": ""
              },
              "marketServiceInfo": {
                "serviceZipCode": "99356",
                "href": "",
                "name": "",
                "@schemaLocation": "",
                "id": "",
                "role": "",
                "localMarket": "",
                "@type": "",
                "productType": "",
                "billingMarket": "",
                "billingSubMarket": "",
                "@baseType": "",
                "@referredType": "",
                "billingSystemId": ""
              },
              "state": "acknowledged",
              "href": "",
              "termsConditionStatus": "B",
              "requestRemarks": "",
              "dispute": false,
              "externalId": "",
              "@schemaLocation": "",
              "orderRelationship": [
                {
                  "id": "",
                  "href": "",
                  "type": "",
                  "@referredType": ""
                }
              ],
              "requestedStartDate": "2020-11-20T08:00:00Z",
              "portabilitySubject": {
                "billingLastName": "",
                "authorizationName": "",
                "billingNameSuffix": "",
                "@schemaLocation": "",
                "billingFirstName": "",
                "billingAccountNumber": "123456789",
                "billingNamePrefix": "",
                "ospBillingAccountPassword": "",
                "last4DigitsTaxId": "",
                "billingMiddleInitial": "",
                "@type": "",
                "ospBillingAccountNumber": "99999888",
                "serviceAddress": {
                  "addressLine1": "",
                  "streetNrLast": "",
                  "postcode": "12345",
                  "locality": "",
                  "stateOrProvince": "NJ",
                  "href": "",
                  "streetNrSuffix": "",
                  "streetNrLastSuffix": "",
                  "streetName": "Luna",
                  "streetSuffix": "SW",
                  "name": "",
                  "@schemaLocation": "",
                  "streetPrefix": "E",
                  "id": "",
                  "postOfficeBox": "",
                  "ruralRouteCenterNumber": "",
                  "ruralRouteBoxNumber": "",
                  "country": "",
                  "geographicLocation": {
                    "id": "",
                    "href": "",
                    "name": "",
                    "@baseType": "",
                    "@schemaLocation": "",
                    "@type": "",
                    "@referredType": ""
                  },
                  "streetNr": "632",
                  "@type": "",
                  "urbanizationCode": "",
                  "fieldIndicator": false,
                  "city": "",
                  "streetType": "PKWY",
                  "addressLine2": "",
                  "postcodeExtension": "6798",
                  "geoCode": "3456",
                  "@baseType": "",
                  "geographicSubAddress": [
                    {
                      "id": "",
                      "href": "",
                      "buildingName": "",
                      "levelNumber": "",
                      "levelType": "",
                      "name": "",
                      "privateStreetName": "",
                      "privateStreetNumber": "",
                      "subAddressType": "",
                      "subUnitNumber": "18",
                      "subUnitType": "APT",
                      "@baseType": "",
                      "@schemaLocation": "",
                      "@type": ""
                    }
                  ]
                },
                "last4DigitsSSN": "",
                "socialSecurityNumber": "",
                "businessName": "example",
                "additionalTitle": "",
                "businessTaxId": "",
                "@baseType": ""
              },
              "commission": {
                "creditCheckAgent": "",
                "href": "",
                "storeId": "",
                "customerCode": "",
                "affiliateSalesRepCode": "",
                "name": "",
                "@schemaLocation": "",
                "secondaryCode": "",
                "location": "",
                "id": "",
                "dealerCode": "",
                "creditCheckAgentLocation": "",
                "role": "",
                "@type": "",
                "billingTelephoneNumber": "",
                "salesRepresentative": [
                  ""
                ],
                "@baseType": "",
                "@referredType": ""
              },
              "portRequestNumber": "",
              "id": "",
              "desiredDueTime": "",
              "telportRecordId": "",
              "relatedParty": [
                {
                  "id": "",
                  "href": "",
                  "name": "",
                  "role": "",
                  "@baseType": "",
                  "@schemaLocation": "",
                  "@type": "",
                  "@referredType": ""
                }
              ],
              "orderItem": [
                {
                  "portRequestLineId": 0,
                  "orderItemRelationship": [
                    {
                      "id": "",
                      "type": ""
                    }
                  ],
                  "state": "acknowledged",
                  "action": "disconnect",
                  "@schemaLocation": "",
                  "id": "",
                  "resource": {
                    "fromLine": "5500",
                    "serviceArea": "",
                    "electronicSerialNum": "",
                    "npaNxx": "196235",
                    "usageState": "idle",
                    "simSerialNum": "",
                    "href": "",
                    "imei": "",
                    "name": "",
                    "@schemaLocation": "",
                    "activationFeature": [
                      {
                        "upgradeFeatureCode": "",
                        "upgradeFeatureEffectiveDate": "",
                        "id": "",
                        "href": "",
                        "isBundle": false,
                        "isEnabled": true,
                        "name": "",
                        "constraint": [
                          {
                            "id": "",
                            "href": "",
                            "name": "",
                            "version": "",
                            "@baseType": "",
                            "@schemaLocation": "",
                            "@type": "",
                            "@referredType": ""
                          }
                        ],
                        "featureCharacteristic": [
                          {
                            "id": "",
                            "name": "",
                            "valueType": "",
                            "characteristicRelationship": [
                              {
                                "id": "",
                                "href": "",
                                "relationshipType": "",
                                "@baseType": "",
                                "@schemaLocation": "",
                                "@type": ""
                              }
                            ],
                            "value": "",
                            "@baseType": "",
                            "@schemaLocation": "",
                            "@type": ""
                          }
                        ],
                        "featureRelationship": [
                          {
                            "id": "",
                            "href": "",
                            "name": "",
                            "relationshipType": "",
                            "validFor": {
                              "endDateTime": "1985-04-12T23:20:50.52Z",
                              "startDateTime": "1985-04-12T23:20:50.52Z"
                            },
                            "@baseType": "",
                            "@schemaLocation": "",
                            "@type": ""
                          }
                        ],
                        "@baseType": "",
                        "@schemaLocation": "",
                        "@type": ""
                      }
                    ],
                    "equipmentType": "C",
                    "resourceSpecification": {
                      "id": "",
                      "href": "",
                      "name": "",
                      "version": "",
                      "@baseType": "",
                      "@schemaLocation": "",
                      "@type": "",
                      "@referredType": ""
                    },
                    "resourceVersion": "",
                    "id": "",
                    "relatedParty": [
                      {
                        "id": "",
                        "href": "",
                        "name": "",
                        "role": "",
                        "@baseType": "",
                        "@schemaLocation": "",
                        "@type": "",
                        "@referredType": ""
                      }
                    ],
                    "toLine": "9999",
                    "value": "",
                    "place": {
                      "id": "",
                      "href": "",
                      "name": "",
                      "role": "",
                      "@baseType": "",
                      "@schemaLocation": "",
                      "@type": "",
                      "@referredType": ""
                    },
                    "attachment": [
                      {
                        "id": "4aafacbd-11ff-4dc8-b445-305f2215715f",
                        "href": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f",
                        "attachmentType": "video",
                        "content": "",
                        "description": "Photograph of the Product",
                        "mimeType": "video/mp4",
                        "name": "iPhone 14 video",
                        "url": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f",
                        "size": {
                          "amount": 1,
                          "units": ""
                        },
                        "validFor": {
                          "endDateTime": "1985-04-12T23:20:50.52Z",
                          "startDateTime": "1985-04-12T23:20:50.52Z"
                        },
                        "@baseType": "",
                        "@schemaLocation": "",
                        "@type": "",
                        "@referredType": ""
                      }
                    ],
                    "administrativeState": "locked",
                    "responseReasonListIndicator": "",
                    "resourceStatus": "standby",
                    "@type": "",
                    "category": "",
                    "productType": "",
                    "note": [
                      {
                        "id": "afa9-3d90aaa8da0f",
                        "author": "Mr. N. Bene",
                        "date": "2020-11-20T08:00:00Z",
                        "text": "This is important",
                        "@baseType": "",
                        "@schemaLocation": "",
                        "@type": ""
                      }
                    ],
                    "resourceCharacteristic": [
                      {
                        "id": "",
                        "name": "",
                        "valueType": "",
                        "characteristicRelationship": [
                          {
                            "id": "",
                            "href": "",
                            "relationshipType": "",
                            "@baseType": "",
                            "@schemaLocation": "",
                            "@type": ""
                          }
                        ],
                        "value": "",
                        "@baseType": "",
                        "@schemaLocation": "",
                        "@type": ""
                      }
                    ],
                    "endOperatingDate": "2020-11-20T08:00:00Z",
                    "startOperatingDate": "2020-11-20T08:00:00Z",
                    "description": "",
                    "resourceRelationship": [
                      {
                        "relationshipType": "bundled",
                        "resource": {
                          "id": "",
                          "href": "",
                          "category": "",
                          "description": "",
                          "endOperatingDate": "2020-11-20T08:00:00Z",
                          "name": "",
                          "resourceVersion": "",
                          "startOperatingDate": "2020-11-20T08:00:00Z",
                          "activationFeature": [
                            {
                              "id": "",
                              "href": "",
                              "isBundle": false,
                              "isEnabled": true,
                              "name": "",
                              "constraint": [
                                {
                                  "id": "",
                                  "href": "",
                                  "name": "",
                                  "version": "",
                                  "@baseType": "",
                                  "@schemaLocation": "",
                                  "@type": "",
                                  "@referredType": ""
                                }
                              ],
                              "featureCharacteristic": [
                                {
                                  "id": "",
                                  "name": "",
                                  "valueType": "",
                                  "characteristicRelationship": [
                                    {
                                      "id": "",
                                      "href": "",
                                      "relationshipType": "",
                                      "@baseType": "",
                                      "@schemaLocation": "",
                                      "@type": ""
                                    }
                                  ],
                                  "value": "",
                                  "@baseType": "",
                                  "@schemaLocation": "",
                                  "@type": ""
                                }
                              ],
                              "featureRelationship": [
                                {
                                  "id": "",
                                  "href": "",
                                  "name": "",
                                  "relationshipType": "",
                                  "validFor": {
                                    "endDateTime": "1985-04-12T23:20:50.52Z",
                                    "startDateTime": "1985-04-12T23:20:50.52Z"
                                  },
                                  "@baseType": "",
                                  "@schemaLocation": "",
                                  "@type": ""
                                }
                              ],
                              "@baseType": "",
                              "@schemaLocation": "",
                              "@type": ""
                            }
                          ],
                          "administrativeState": "locked",
                          "attachment": [
                            {
                              "id": "4aafacbd-11ff-4dc8-b445-305f2215715f",
                              "href": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f",
                              "attachmentType": "video",
                              "content": "",
                              "description": "Photograph of the Product",
                              "mimeType": "video/mp4",
                              "name": "iPhone 14 video",
                              "url": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f",
                              "size": {
                                "amount": 1,
                                "units": ""
                              },
                              "validFor": {
                                "endDateTime": "1985-04-12T23:20:50.52Z",
                                "startDateTime": "1985-04-12T23:20:50.52Z"
                              },
                              "@baseType": "",
                              "@schemaLocation": "",
                              "@type": "",
                              "@referredType": ""
                            }
                          ],
                          "note": [
                            {
                              "id": "afa9-3d90aaa8da0f",
                              "author": "Mr. N. Bene",
                              "date": "2020-11-20T08:00:00Z",
                              "text": "This is important",
                              "@baseType": "",
                              "@schemaLocation": "",
                              "@type": ""
                            }
                          ],
                          "operationalState": "enable",
                          "place": {
                            "id": "",
                            "href": "",
                            "name": "",
                            "role": "",
                            "@baseType": "",
                            "@schemaLocation": "",
                            "@type": "",
                            "@referredType": ""
                          },
                          "relatedParty": [
                            {
                              "id": "",
                              "href": "",
                              "name": "",
                              "role": "",
                              "@baseType": "",
                              "@schemaLocation": "",
                              "@type": "",
                              "@referredType": ""
                            }
                          ],
                          "resourceCharacteristic": [
                            {
                              "id": "",
                              "name": "",
                              "valueType": "",
                              "characteristicRelationship": [
                                {
                                  "id": "",
                                  "href": "",
                                  "relationshipType": "",
                                  "@baseType": "",
                                  "@schemaLocation": "",
                                  "@type": ""
                                }
                              ],
                              "value": "",
                              "@baseType": "",
                              "@schemaLocation": "",
                              "@type": ""
                            }
                          ],
                          "resourceRelationship": [],
                          "resourceSpecification": {
                            "id": "",
                            "href": "",
                            "name": "",
                            "version": "",
                            "@baseType": "",
                            "@schemaLocation": "",
                            "@type": "",
                            "@referredType": ""
                          },
                          "resourceStatus": "standby",
                          "usageState": "idle",
                          "@baseType": "",
                          "@schemaLocation": "",
                          "@type": "",
                          "@referredType": ""
                        },
                        "@baseType": "",
                        "@schemaLocation": "",
                        "@type": ""
                      }
                    ],
                    "dueDateTime": "",
                    "@baseType": "",
                    "operationalState": "enable"
                  },
                  "orderItem": [
                    {
                      "id": "",
                      "orderItem": [],
                      "state": "acknowledged",
                      "@baseType": "",
                      "@schemaLocation": "",
                      "@type": ""
                    }
                  ],
                  "portabilityActivationMode": "",
                  "portRelated": "",
                  "endUserName": "",
                  "@type": "",
                  "pendingHandsetUpgradeCode": "",
                  "fulfillmentOrderId": "",
                  "note": [
                    {
                      "id": "afa9-3d90aaa8da0f",
                      "author": "Mr. N. Bene",
                      "date": "2020-11-20T08:00:00Z",
                      "text": "This is important",
                      "@baseType": "",
                      "@schemaLocation": "",
                      "@type": ""
                    }
                  ],
                  "message": [
                    {
                      "messageCode": "",
                      "messageDetail": "",
                      "messageSummary": "",
                      "@baseType": "",
                      "@schemaLocation": "/uri",
                      "@type": ""
                    }
                  ],
                  "portabilityEffectiveDate": "2020-11-20T08:00:00Z",
                  "@baseType": ""
                }
              ],
              "totalNumberOfSubscriberNumbers": 0,
              "stateReasonDescription": "",
              "portDirection": "A",
              "lastModificationDate": "2020-11-20T08:00:00Z",
              "expectedCompletionDate": "2020-11-20T08:00:00Z",
              "completionDate": "2020-11-20T08:00:00Z",
              "requestedCompletionDate": "2020-11-20T08:00:00Z",
              "serviceProvider": [
                {
                  "id": "",
                  "href": "",
                  "name": "",
                  "role": "",
                  "@baseType": "",
                  "@schemaLocation": "",
                  "@type": "",
                  "@referredType": ""
                }
              ],
              "desiredDueDate": "2020-11-20T08:00:00Z",
              "contract": {
                "contractLength": "",
                "contractCode": "",
                "salesChannel": ""
              },
              "@type": "",
              "orderDate": "2020-11-20T08:00:00Z",
              "note": [
                {
                  "id": "afa9-3d90aaa8da0f",
                  "author": "Mr. N. Bene",
                  "date": "2020-11-20T08:00:00Z",
                  "text": "This is important",
                  "@baseType": "",
                  "@schemaLocation": "",
                  "@type": ""
                }
              ],
              "stateReason": "",
              "authorizationDate": "2020-11-20T08:00:00Z",
              "portRequestNumberVersion": "",
              "priority": "regular",
              "description": "",
              "groupRequestNumber": "",
              "initiatorId": "",
              "@baseType": ""
            }
          }
        },
        "type": "object",
        "required": [
          "marketServiceInfo",
          "portabilitySubject",
          "commission",
          "orderItem",
          "portDirection"
        ],
        "properties": {
          "immediateAct": {
            "title": "ImmediateActInfo",
            "description": "U -Unpark the ACT P -Park the ACT. For port inquiry if the porting process is parked/suspended in the biller this field will override the portRequestStatus/portRequestLineStatus returned in the response.",
            "enum": [
              "P",
              "U"
            ],
            "type": "string",
            "maxLength": 1
          },
          "serviceProviderInfo": {
            "$ref": "#/components/schemas/ServiceProviderInfo"
          },
          "marketServiceInfo": {
            "title": "MarketServiceInfo",
            "description": "A place object representing the market service info",
            "x-amf-union": [
              {
                "$ref": "#/components/schemas/ServiceZipCodeInfo"
              },
              {
                "$ref": "#/components/schemas/MarketInfo"
              }
            ]
          },
          "href": {
            "description": "Hyperlink to access the order.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "state": {
            "$ref": "#/components/schemas/PortabilityOrderStateType"
          },
          "delayCode": {
            "$ref": "#/components/schemas/SafeString"
          },
          "termsConditionStatus": {
            "title": "TermsConditionsStatusInfo",
            "description": "\"W\" - WEB Accepted, \"S\" - Physical Signature, \"P\" - Pending (regular activations), \"Y\" - Required, but pending (WLNP only).",
            "enum": [
              "B",
              "C",
              "E",
              "I",
              "N",
              "P",
              "S",
              "T",
              "V",
              "W",
              "X",
              "Y"
            ],
            "type": "string"
          },
          "requestRemarks": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "maxLength": 160
          },
          "dispute": {
            "type": "boolean"
          },
          "errorType": {
            "$ref": "#/components/schemas/SafeString"
          },
          "externalId": {
            "description": "ID given by the consumer and only understandable by him (to facilitate his searches afterwards).",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "messageCd": {
            "$ref": "#/components/schemas/SafeString"
          },
          "orderRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityOrderRelationship"
            }
          },
          "requestedStartDate": {
            "description": "Order fulfillment start date wished by the requestor. This is used when, for any reason, requestor cannot allow seller to begin to operationally begin the fulfillment before a date.",
            "type": "string",
            "format": "date-time"
          },
          "oldResName": {
            "$ref": "#/components/schemas/SafeString"
          },
          "portabilitySubject": {
            "$ref": "#/components/schemas/PortabilitySubject_AddPort"
          },
          "commission": {
            "title": "Commission",
            "description": "A Party object representing the Commission object",
            "type": "object",
            "required": [
              "id",
              "dealerCode",
              "@referredType"
            ],
            "properties": {
              "creditCheckAgent": {
                "$ref": "#/components/schemas/SafeString"
              },
              "href": {
                "description": "Hyperlink reference.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "storeId": {
                "$ref": "#/components/schemas/SafeString"
              },
              "customerCode": {
                "$ref": "#/components/schemas/SafeString"
              },
              "affiliateSalesRepCode": {
                "$ref": "#/components/schemas/SafeString"
              },
              "name": {
                "description": "Name of the related entity.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "@schemaLocation": {
                "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "secondaryCode": {
                "$ref": "#/components/schemas/SafeString"
              },
              "location": {
                "$ref": "#/components/schemas/SafeString"
              },
              "id": {
                "description": "unique identifier.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "dealerCode": {
                "description": "Objective is to limit the data provided to safeguard parameters.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "creditCheckAgentLocation": {
                "$ref": "#/components/schemas/SafeString"
              },
              "role": {
                "description": "Role played by the related party",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "@type": {
                "description": "When sub-classing, this defines the sub-class entity name.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "billingTelephoneNumber": {
                "$ref": "#/components/schemas/SafeString"
              },
              "salesRepresentative": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "@baseType": {
                "description": "When sub-classing, this defines the super-class.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "@referredType": {
                "description": "The actual type of the target instance when needed for disambiguation.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              }
            }
          },
          "portPath": {
            "$ref": "#/components/schemas/SafeString"
          },
          "portRequestNumber": {
            "description": "Industry-standard PON identifier associated to this Portability request.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "ID created on repository side.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "telportRecordId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "desiredDueTime": {
            "$ref": "#/components/schemas/SafeString"
          },
          "relatedParty": {
            "description": "This will store customer data for port-in requests; not needed for port-out requests.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedParty_1"
            }
          },
          "portCreationDate": {
            "$ref": "#/components/schemas/SafeString"
          },
          "orderItem": {
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/MSISDNPortinOrderItem_AddPort"
            }
          },
          "portCancellationReasonCode": {
            "$ref": "#/components/schemas/SafeString"
          },
          "totalNumberOfSubscriberNumbers": {
            "$ref": "#/components/schemas/TotalNumberOfSubscriberNumbersInfo"
          },
          "stateReasonDescription": {
            "description": "State reason description",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "lastModificationDate": {
            "description": "Date when the order was last modified.",
            "type": "string",
            "format": "date-time"
          },
          "portDirection": {
            "title": "PortDirectionInfo",
            "description": "Wireline to Wireline = A, Wireless to Wireless = B, Wireless to Wireline = C, Wireline to Wireless = D.",
            "enum": [
              "A",
              "B",
              "C",
              "D"
            ],
            "type": "string",
            "maxLength": 1
          },
          "expectedCompletionDate": {
            "description": "Expected delivery date amended by the provider.",
            "type": "string",
            "format": "date-time"
          },
          "requestedCompletionDate": {
            "description": "Date at which the requestor wishes the portability to take place.",
            "type": "string",
            "format": "date-time"
          },
          "completionDate": {
            "description": "Date when the order was completed",
            "type": "string",
            "format": "date-time"
          },
          "serviceProvider": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityServiceProvider"
            }
          },
          "desiredDueDate": {
            "description": "The desired due date. If not provided, the current date will be used",
            "type": "string",
            "format": "date-time"
          },
          "contract": {
            "$ref": "#/components/schemas/Contract"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class Extensible name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "orderDate": {
            "description": "Date at which the PortabilityOrder has been created.",
            "type": "string",
            "format": "date-time"
          },
          "note": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "stateReason": {
            "description": "State reason short code.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "authorizationDate": {
            "description": "Date at which the PortabilityOrder has been authorized by the customer.",
            "type": "string",
            "format": "date-time"
          },
          "portRequestNumberVersion": {
            "description": "Current version of the industry-standard request.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "portRequestStatus": {
            "$ref": "#/components/schemas/SafeString"
          },
          "priority": {
            "$ref": "#/components/schemas/PortabilityPriorityType"
          },
          "description": {
            "description": "Description of the product order.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "groupRequestNumber": {
            "$ref": "#/components/schemas/SafeString"
          },
          "initiatorId": {
            "$ref": "#/components/schemas/PortInitiatorIdInfo"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "operationId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "actionId": {
            "$ref": "#/components/schemas/SafeString"
          }
        }
      },
      "MSISDNPortabilityOrder_UpdatePort": {
        "type": "object",
        "required": [
          "portDirection",
          "marketServiceInfo"
        ],
        "properties": {
          "id": {
            "description": "ID created on repository side.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "Hyperlink to access the order.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "authorizationDate": {
            "description": "Date at which the PortabilityOrder has been authorized by the customer.",
            "type": "string",
            "format": "date-time"
          },
          "completionDate": {
            "description": "Date when the order was completed",
            "type": "string",
            "format": "date-time"
          },
          "description": {
            "description": "Description of the product order.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "dispute": {
            "type": "boolean"
          },
          "expectedCompletionDate": {
            "description": "Expected delivery date amended by the provider.",
            "type": "string",
            "format": "date-time"
          },
          "externalId": {
            "description": "ID given by the consumer and only understandable by him (to facilitate his searches afterwards).",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "groupRequestNumber": {
            "$ref": "#/components/schemas/SafeString"
          },
          "lastModificationDate": {
            "description": "Date when the order was last modified.",
            "type": "string",
            "format": "date-time"
          },
          "orderDate": {
            "description": "Date at which the PortabilityOrder has been created.",
            "type": "string",
            "format": "date-time"
          },
          "portRequestNumberVersion": {
            "description": "Current version of the industry-standard request.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "maxLength": 2
          },
          "requestedCompletionDate": {
            "description": "Date at which the requestor wishes the portability to take place.",
            "type": "string",
            "format": "date-time"
          },
          "requestedStartDate": {
            "description": "Order fulfillment start date wished by the requestor. This is used when, for any reason, requestor cannot allow seller to begin to operationally begin the fulfillment before a date.",
            "type": "string",
            "format": "date-time"
          },
          "stateReason": {
            "description": "State reason short code.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "stateReasonDescription": {
            "description": "State reason description",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "note": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "orderRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityOrderRelationship"
            }
          },
          "priority": {
            "$ref": "#/components/schemas/PortabilityPriorityType"
          },
          "serviceProvider": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityServiceProvider"
            }
          },
          "state": {
            "$ref": "#/components/schemas/PortabilityOrderStateType"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class Extensible name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "telportRecordId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "commission": {
            "$ref": "#/components/schemas/Commission"
          },
          "serviceProviderInfo": {
            "$ref": "#/components/schemas/ServiceProviderInfo"
          },
          "relatedParty": {
            "description": "This will store customer data for port-in requests; not needed for port-out requests.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedParty_1"
            }
          },
          "orderItem": {
            "type": "array",
            "minItems": 0,
            "items": {
              "$ref": "#/components/schemas/MSISDNPortabilityOrderItem_UpdatePort"
            }
          },
          "portabilitySubject": {
            "$ref": "#/components/schemas/PortabilitySubject_UpdatePort"
          },
          "portDirection": {
            "title": "PortDirectionInfo",
            "description": "Wireline to Wireline = A, Wireless to Wireless = B, Wireless to Wireline = C, Wireline to Wireless = D.",
            "enum": [
              "A",
              "B",
              "C",
              "D"
            ],
            "type": "string",
            "maxLength": 1
          },
          "termsConditionStatus": {
            "title": "TermsConditionsStatusInfo",
            "description": "\"W\" - WEB Accepted, \"S\" - Physical Signature, \"P\" - Pending (regular activations), \"Y\" - Required, but pending (WLNP only).",
            "enum": [
              "B",
              "C",
              "E",
              "I",
              "N",
              "P",
              "S",
              "T",
              "V",
              "W",
              "X",
              "Y"
            ],
            "type": "string"
          },
          "desiredDueDate": {
            "description": "The desired due date. If not provided, the current date will be used",
            "type": "string",
            "format": "date-time"
          },
          "immediateAct": {
            "title": "ImmediateActInfo",
            "description": "U -Unpark the ACT P -Park the ACT. For port inquiry if the porting process is parked/suspended in the biller this field will override the portRequestStatus/portRequestLineStatus returned in the response.",
            "enum": [
              "P",
              "U"
            ],
            "type": "string",
            "maxLength": 1
          },
          "initiatorId": {
            "$ref": "#/components/schemas/PortInitiatorIdInfo"
          },
          "totalNumberOfSubscriberNumbers": {
            "$ref": "#/components/schemas/TotalNumberOfSubscriberNumbersInfo"
          },
          "requestRemarks": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "maxLength": 160
          },
          "marketServiceInfo": {
            "x-amf-union": [
              {
                "$ref": "#/components/schemas/ServiceZipCodeInfo_2"
              },
              {
                "$ref": "#/components/schemas/MarketInfo_3"
              }
            ]
          },
          "portPath": {
            "$ref": "#/components/schemas/SafeString"
          },
          "teleportPortRecordId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "portOutInfo": {
            "$ref": "#/components/schemas/PortOutInfo"
          }
        }
      },
      "MSISDNCancelPortabilityOrder": {
        "title": "MSISDNCancelPortabilityOrder",
        "description": "Cancel Portability order object.",
        "x-amf-examples": {
          "input": {
            "href": "string",
            "cancellationReason": "string",
            "effectiveCancellationDate": "2023-09-20T17:54:40.939Z",
            "requestedCancellationDate": "2023-09-20T17:54:40.939Z",
            "reasonCode": "string",
            "initiatorId": "string",
            "subscriberNumber": "1234567890",
            "portabilityOrder": {
              "id": "string",
              "href": "string",
              "authorizationDate": "2023-09-20T17:54:40.939Z",
              "completionDate": "2023-09-20T17:54:40.939Z",
              "description": "string",
              "dispute": true,
              "expectedCompletionDate": "2023-09-20T17:54:40.939Z",
              "externalId": "string",
              "groupRequestNumber": "string",
              "lastModificationDate": "2023-09-20T17:54:40.939Z",
              "orderDate": "2023-09-20T17:54:40.939Z",
              "portRequestNumber": "string",
              "portRequestNumberVersion": "string",
              "requestedCompletionDate": "2023-09-20T17:54:40.939Z",
              "requestedStartDate": "2023-09-20T17:54:40.939Z",
              "stateReason": "string",
              "stateReasonDescription": "string",
              "note": [
                {
                  "id": "afa9-3d90aaa8da0f",
                  "author": "Mr. N. Bene",
                  "date": "2020-11-20T08:00:00Z",
                  "text": "This is important",
                  "@baseType": "string",
                  "@schemaLocation": "string",
                  "@type": "string"
                }
              ],
              "portabilitySubject": {
                "authorizationName": "string",
                "billingFirstName": "string",
                "billingLastName": "string",
                "billingMiddleInitial": "string",
                "billingAccountNumber": "123456789",
                "billingNamePrefix": "string",
                "billingNameSuffix": "string",
                "businessName": "string",
                "@baseType": "string",
                "@schemaLocation": "string",
                "@type": "string"
              },
              "marketServiceInfo": {
                "id": "string",
                "href": "string",
                "name": "string",
                "role": "string",
                "@baseType": "string",
                "@schemaLocation": "string",
                "@type": "string",
                "@referredType": "string",
                "serviceZipCode": "12345",
                "billingMarket": "string",
                "billingSubMarket": "string",
                "localMarket": "string",
                "billingSystemId": "string",
                "productType": "string"
              },
              "telportRecordId": "string",
              "state": "acknowledged",
              "@baseType": "string",
              "@schemaLocation": "string",
              "@type": "string",
              "name": "string",
              "@referredType": "string"
            },
            "state": "accepted",
            "@baseType": "string",
            "@schemaLocation": "string",
            "@type": "string"
          }
        },
        "type": "object",
        "required": [
          "portabilityOrder",
          "reasonCode",
          "initiatorId"
        ],
        "properties": {
          "href": {
            "description": "Hyperlink reference.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "state": {
            "title": "TaskStateType",
            "description": "Tracks the lifecycle status of the cancellation request, such as Acknowledged, Rejected, InProgress, Pending and so on.",
            "enum": [
              "accepted",
              "erminatedWithError",
              "inProgress",
              "done"
            ],
            "type": "string"
          },
          "subscriberNumber": {
            "$ref": "#/components/schemas/SubscriberNumberInfo"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "cancellationReason": {
            "description": "Reason why the order is cancelled.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "unique identifier.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "requestedCancellationDate": {
            "description": "Date when the submitter wants the order to be cancelled.",
            "type": "string",
            "format": "date-time"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "effectiveCancellationDate": {
            "description": "Date when the order is cancelled.",
            "type": "string",
            "format": "date-time"
          },
          "portabilityOrder": {
            "$ref": "#/components/schemas/MSISDNPortabilityOrderBase"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "reasonCode": {
            "$ref": "#/components/schemas/SafeString"
          },
          "initiatorId": {
            "$ref": "#/components/schemas/SafeString"
          }
        }
      },
      "ServiceProviderInfo": {
        "description": "Data fields related to old or new service provider for wlnp process.",
        "type": "object",
        "required": [
          "localId",
          "networkId"
        ],
        "properties": {
          "localId": {
            "description": "Local service provider id used for wlnp process.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 4,
            "maxLength": 4
          },
          "networkId": {
            "description": "Network service provider id used for wlnp process.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 4,
            "maxLength": 4
          },
          "resellerName": {
            "description": "Name of reseller that sold wireless service.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "MarketServiceInfo_Choice": {
        "x-amf-union": [
          {
            "$ref": "#/components/schemas/ServiceZipCodeInfo_2"
          },
          {
            "$ref": "#/components/schemas/MarketInfo_3"
          }
        ]
      },
      "PortabilityOrderStateType": {
        "title": "PortabilityOrderStateType",
        "enum": [
          "acknowledged",
          "pending",
          "sent",
          "delayed",
          "rejected",
          "held",
          "confirmed",
          "inProgress",
          "cancelled",
          "completed",
          "failed",
          "partial",
          "CF",
          "CN",
          "CO",
          "CT",
          "DN",
          "ER",
          "OP"
        ],
        "type": "string"
      },
      "SafeString": {
        "description": "Objective is to limit the data provided to safeguard parameters.",
        "type": "string",
        "pattern": "^[?-~ -%'-;=]{0,200}$"
      },
      "PortabilitySubject_extended": {
        "title": "PortabilitySubject",
        "type": "object",
        "properties": {
          "billingLastName": {
            "$ref": "#/components/schemas/SafeString"
          },
          "authorizationName": {
            "description": "Authorization Name This is the end user who authorized the request to port the number.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "maxLength": 60
          },
          "billingNameSuffix": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "billingFirstName": {
            "$ref": "#/components/schemas/SafeString"
          },
          "billingAccountNumber": {
            "description": ".",
            "type": "string",
            "pattern": "^([0-9]{8}|[0-9]{9}|[0-9]{12})$"
          },
          "billingNamePrefix": {
            "$ref": "#/components/schemas/SafeString"
          },
          "ospBillingAccountPassword": {
            "description": "The old service provider account password",
            "type": "string",
            "pattern": "^.{0,20}$",
            "maxLength": 20
          },
          "last4DigitsTaxId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "billingMiddleInitial": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "ospBillingAccountNumber": {
            "description": "The old service provider account number",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "maxLength": 20
          },
          "serviceAddress": {
            "title": "GeographicAddress",
            "description": "Extended Structured textual way of describing how to find a Property in an urban area (country properties are often defined differently).\nNote: Address corresponds to SID UrbanPropertyAddress",
            "type": "object",
            "properties": {
              "addressLine1": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetNrLast": {
                "description": "Last number in a range of street numbers allocated to a property.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "postcode": {
                "description": "descriptor for a postal delivery area, used to speed and simplify the delivery of mail (also known as zipcode)",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$",
                "minLength": 5,
                "maxLength": 5
              },
              "locality": {
                "description": "An area of defined or undefined boundaries within a local authority or other legislatively defined area, usually rural or semi rural in nature. [ANZLIC-STREET], or a suburb, a bounded locality within a city, town or shire principally of urban character [ANZLICSTREET].",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "stateOrProvince": {
                "description": "the State or Province that the address is in.",
                "enum": [
                  "AL",
                  "AK",
                  "AZ",
                  "AR",
                  "CA",
                  "CO",
                  "CT",
                  "DE",
                  "DC",
                  "FL",
                  "GA",
                  "HI",
                  "ID",
                  "IL",
                  "IN",
                  "IA",
                  "KS",
                  "KY",
                  "LA",
                  "ME",
                  "MD",
                  "MA",
                  "MI",
                  "MN",
                  "MS",
                  "MO",
                  "MT",
                  "NE",
                  "NV",
                  "NH",
                  "NJ",
                  "NM",
                  "NY",
                  "NC",
                  "ND",
                  "OH",
                  "OK",
                  "OR",
                  "PA",
                  "RI",
                  "SC",
                  "SD",
                  "TN",
                  "TX",
                  "UT",
                  "VT",
                  "VA",
                  "WA",
                  "WV",
                  "WI",
                  "WY",
                  "AB",
                  "BC",
                  "DR",
                  "MB",
                  "MX",
                  "NB",
                  "NF",
                  "NS",
                  "ON",
                  "PE",
                  "PQ",
                  "PR",
                  "SK",
                  "VI",
                  "DF",
                  "NA",
                  "GT",
                  "PU",
                  "YA",
                  "SN",
                  "BA",
                  "AP",
                  "CL",
                  "AA",
                  "BI",
                  "PB",
                  "AG",
                  "BN",
                  "CI",
                  "CP",
                  "CS",
                  "DU",
                  "GJ",
                  "GR",
                  "HD",
                  "HK",
                  "MC",
                  "MR",
                  "NL",
                  "NZ",
                  "OX",
                  "QT",
                  "QR",
                  "SL",
                  "SO",
                  "TA",
                  "TB",
                  "TL",
                  "VE",
                  "YC",
                  "ZA",
                  "ZZ",
                  "AE",
                  "BE",
                  "YT",
                  "AS",
                  "FM",
                  "GM",
                  "MH",
                  "NO",
                  "PL",
                  "UM",
                  "VZ",
                  "CE",
                  "CR",
                  "LM",
                  "TE",
                  "FS",
                  "FN",
                  "CN",
                  "GU",
                  "MP",
                  "PW",
                  "NT",
                  "NU",
                  "QC"
                ],
                "type": "string"
              },
              "href": {
                "description": "Hyperlink reference.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetNrSuffix": {
                "description": "the first street number suffix.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetNrLastSuffix": {
                "description": "Last street number suffix for a ranged address.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetName": {
                "description": "Name of the street or other street type.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetSuffix": {
                "description": "A modifier denoting a relative direction.",
                "enum": [
                  "N",
                  "E",
                  "S",
                  "W",
                  "NE",
                  "NW",
                  "SE",
                  "SW"
                ],
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "name": {
                "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home].",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "@schemaLocation": {
                "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetPrefix": {
                "description": "A modifier denoting a relative direction at the beginning of the street name, like the S. in S. ABC BLVD.",
                "enum": [
                  "E",
                  "S",
                  "W",
                  "NE",
                  "NW",
                  "SE",
                  "SW"
                ],
                "type": "string"
              },
              "geoCode": {
                "description": "Address geographical zip code. This attribute is used for addresses on certain geographical maps.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "id": {
                "description": "unique identifier.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "postOfficeBox": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "ruralRouteCenterNumber": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "ruralRouteBoxNumber": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "country": {
                "description": "Country that the address is in.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "geographicLocation": {
                "$ref": "#/components/schemas/GeographicLocationRefOrValue"
              },
              "streetNr": {
                "description": "Number identifying a specific property on a public street. It may be combined with streetNrLast for ranged addresses.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "@type": {
                "description": "When sub-classing, this defines the sub-class entity name.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "urbanizationCode": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "fieldIndicator": {
                "description": "In the request, specifies whether the address validation should take place. If true or not provided, the validation will take place. If false, the validation will be bypassed. In the response, indicates whether the address was reformatted during the validation. ",
                "type": "boolean"
              },
              "city": {
                "description": "City that the address is in.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetType": {
                "description": "alley, avenue, boulevard, brae, crescent, drive, highway, lane, terrace, parade, place, tarn, way, wharf.",
                "enum": [
                  "ALY",
                  "ANX",
                  "ARC",
                  "AVE",
                  "BCH",
                  "BG",
                  "BGS",
                  "BLF",
                  "BLFS",
                  "BLVD",
                  "BND",
                  "BR",
                  "BRG",
                  "BRK",
                  "BRKS",
                  "BTM",
                  "BYP",
                  "BYU",
                  "CIR",
                  "CIRS",
                  "CLB",
                  "CLF",
                  "CLFS",
                  "CMN",
                  "COR",
                  "CORS",
                  "CP",
                  "CPE",
                  "CRES",
                  "CRK",
                  "CRSE",
                  "CRST",
                  "CSWY",
                  "CT",
                  "CTR",
                  "CTRS",
                  "CTS",
                  "CURV",
                  "CV",
                  "CVS",
                  "CYN",
                  "DL",
                  "DM",
                  "DR",
                  "DRS",
                  "DV",
                  "EST",
                  "ESTS",
                  "EXPY",
                  "EXT",
                  "EXTS",
                  "FALL",
                  "FLD",
                  "FLDS",
                  "FLS",
                  "FLT",
                  "FLTS",
                  "FRD",
                  "FRDS",
                  "FRG",
                  "FRGS",
                  "FRK",
                  "FRKS",
                  "FRST",
                  "FRY",
                  "FT",
                  "FWY",
                  "GDN",
                  "GDNS",
                  "GLN",
                  "GLNS",
                  "GRN",
                  "GRNS",
                  "GRV",
                  "GRVS",
                  "GTWY",
                  "HBR",
                  "HBRS",
                  "HCR",
                  "HL",
                  "HLS",
                  "HOLW",
                  "HTS",
                  "HVN",
                  "HWY",
                  "INLT",
                  "INST",
                  "IS",
                  "ISLE",
                  "ISS",
                  "JCT",
                  "JCTS",
                  "KNL",
                  "KNLS",
                  "KY",
                  "KYS",
                  "LAND",
                  "LCK",
                  "LCKS",
                  "LDG",
                  "LF",
                  "LGT",
                  "LGTS",
                  "LK",
                  "LKS",
                  "LN",
                  "LNDG",
                  "LOOP",
                  "MALL",
                  "MEWS",
                  "MDW",
                  "MDWS",
                  "ML",
                  "MLS",
                  "MNR",
                  "MNRS",
                  "MSN",
                  "MT",
                  "MTN",
                  "MTNS",
                  "MTWY",
                  "NCK",
                  "ORCH",
                  "OVAL",
                  "OPAS",
                  "PARK",
                  "PASS",
                  "PATH",
                  "PIKE",
                  "PKY",
                  "PKWY",
                  "PL",
                  "PLN",
                  "PLNS",
                  "PLZ",
                  "PNE",
                  "PNES",
                  "PR",
                  "PRT",
                  "PRTS",
                  "PSGE",
                  "PT",
                  "PTS",
                  "RADL",
                  "RAMP",
                  "RD",
                  "RDS",
                  "RDG",
                  "RDGS",
                  "RIV",
                  "RNCH",
                  "ROW",
                  "RPD",
                  "RPDS",
                  "RST",
                  "RTE",
                  "RUE",
                  "RUN",
                  "SHL",
                  "SHLS",
                  "SHR",
                  "SHRS",
                  "SKWY",
                  "SMT",
                  "SPG",
                  "SPGS",
                  "SPUR",
                  "SQ",
                  "SQS",
                  "ST",
                  "STS",
                  "STA",
                  "STRA",
                  "STRM",
                  "TER",
                  "THWY",
                  "TPKE",
                  "TRAK",
                  "TRCE",
                  "TRFY",
                  "TRWY",
                  "TRL",
                  "TRLR",
                  "TUNL",
                  "UN",
                  "UNS",
                  "UPAS",
                  "VIA",
                  "VIS",
                  "VL",
                  "VLG",
                  "VLGS",
                  "VLY",
                  "VLYS",
                  "VW",
                  "VWS",
                  "WALK",
                  "WALL",
                  "WAY",
                  "WAYS",
                  "WL",
                  "WLS",
                  "XING",
                  "XRD"
                ],
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "addressLine2": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "postcodeExtension": {
                "description": "also known as extension of zipcode",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$",
                "minLength": 4,
                "maxLength": 4
              },
              "@baseType": {
                "description": "When sub-classing, this defines the super-class.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "geographicSubAddress": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/GeographicSubAddress_extended"
                }
              }
            }
          },
          "last4DigitsSSN": {
            "$ref": "#/components/schemas/SafeString"
          },
          "socialSecurityNumber": {
            "description": ".",
            "type": "string",
            "pattern": "^([0-9]{9}|)$"
          },
          "businessName": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 1
          },
          "additionalTitle": {
            "description": "The name's additional title. A free text field that holds the additional title of the name. For example, Mr. George Washington Sr. President.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "businessTaxId": {
            "description": ".",
            "type": "string",
            "pattern": "^([0-9]{9}|)$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "Commission": {
        "title": "Commission",
        "description": "A Party object representing the Commission object",
        "type": "object",
        "required": [
          "id",
          "@referredType"
        ],
        "properties": {
          "creditCheckAgent": {
            "$ref": "#/components/schemas/SafeString"
          },
          "href": {
            "description": "Hyperlink reference.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "storeId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "customerCode": {
            "$ref": "#/components/schemas/SafeString"
          },
          "affiliateSalesRepCode": {
            "$ref": "#/components/schemas/SafeString"
          },
          "name": {
            "description": "Name of the related entity.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "secondaryCode": {
            "$ref": "#/components/schemas/SafeString"
          },
          "location": {
            "$ref": "#/components/schemas/SafeString"
          },
          "id": {
            "description": "unique identifier.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "dealerCode": {
            "$ref": "#/components/schemas/SafeString"
          },
          "creditCheckAgentLocation": {
            "$ref": "#/components/schemas/SafeString"
          },
          "role": {
            "description": "Role played by the related party",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "billingTelephoneNumber": {
            "$ref": "#/components/schemas/SafeString"
          },
          "salesRepresentative": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "TotalNumberOfSubscriberNumbersInfo": {
        "title": "TotalNumberOfSubscriberNumbersInfo",
        "type": "integer"
      },
      "Contract": {
        "type": "object",
        "properties": {
          "contractLength": {
            "$ref": "#/components/schemas/SafeString"
          },
          "contractCode": {
            "$ref": "#/components/schemas/SafeString"
          },
          "salesChannel": {
            "$ref": "#/components/schemas/SafeString"
          }
        }
      },
      "PortabilityPriorityType": {
        "title": "PortabilityPriorityType",
        "enum": [
          "regular",
          "expedite"
        ],
        "type": "string"
      },
      "PortInitiatorIdInfo": {
        "title": "PortInitiatorIdInfo",
        "description": "Clients are required to pass this value in the request. This value is optional in the response",
        "type": "string",
        "pattern": "^[?-~ -%'-;=]{0,200}$",
        "maxLength": 16
      },
      "PortabilityOrderRelationship": {
        "title": "PortabilityOrderRelationship",
        "description": "Linked order to the one containing this attribute",
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "The id of the related order",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "A hyperlink to the related order.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "type": {
            "description": "The type of related order, can be : \\u201cdependency\\u201d if the order needs to be \\u201cnot started\\u201d until another order item is complete (a service order in this case) or \\u201ccross-ref\\u201d to keep track of the source order (a productOrder).",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "RelatedParty": {
        "title": "RelatedParty",
        "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.",
        "type": "object",
        "required": [
          "id",
          "@referredType"
        ],
        "properties": {
          "href": {
            "description": "Hyperlink reference.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "Name of the related entity.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "unique identifier.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "role": {
            "description": "Role played by the related party",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "MSISDNPortabilityOrderItem_extended": {
        "title": "MSISDNPortabilityOrderItem_extended",
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "orderItemRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityOrderItemRelationship"
            }
          },
          "portRequestLineId": {
            "type": "number"
          },
          "state": {
            "$ref": "#/components/schemas/PortabilityOrderItemStateType"
          },
          "action": {
            "title": "PortabilityActionType",
            "description": "used for portin portout etc; can be extended or updated directly",
            "enum": [
              "disconnect",
              "port",
              "intraport",
              "out"
            ],
            "type": "string"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, \\u2026).",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "resource": {
            "title": "MSISDN",
            "description": "adding more field into MSISDN",
            "type": "object",
            "required": [
              "fromLine",
              "serviceArea",
              "npaNxx",
              "href",
              "equipmentType",
              "id"
            ],
            "properties": {
              "fromLine": {
                "title": "PhoneLastFourDigitsInfo",
                "description": "Last four digits of number range to be ported.",
                "type": "string",
                "pattern": "^\\d{4}$",
                "minLength": 4,
                "maxLength": 4
              },
              "serviceArea": {
                "title": "ServiceAreaInfo",
                "description": "The service area associated with the port-in subscriber number(s).",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$",
                "maxLength": 12
              },
              "electronicSerialNum": {
                "$ref": "#/components/schemas/SafeString"
              },
              "npaNxx": {
                "title": "PhoneNpaNxxInfo",
                "description": "first 6 digits of subscriber number to be ported.",
                "type": "string",
                "pattern": "^\\d{6}$",
                "minLength": 6,
                "maxLength": 6
              },
              "usageState": {
                "title": "ResourceUsageStateType",
                "description": "Tracks the usage state of the resource, such as idle, active, busy and so on.",
                "enum": [
                  "idle",
                  "active",
                  "busy"
                ],
                "type": "string"
              },
              "simSerialNum": {
                "$ref": "#/components/schemas/SafeString"
              },
              "href": {
                "description": "Hyperlink reference.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "mobileStatus": {
                "$ref": "#/components/schemas/SafeString"
              },
              "imei": {
                "$ref": "#/components/schemas/SafeString"
              },
              "name": {
                "description": "A string used to give a name to the resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "@schemaLocation": {
                "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "activationFeature": {
                "description": "Configuration features.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Feature_extended"
                }
              },
              "equipmentType": {
                "$ref": "#/components/schemas/EquipmentTypeInfo"
              },
              "resourceSpecification": {
                "$ref": "#/components/schemas/ResourceSpecificationRef"
              },
              "resourceVersion": {
                "description": "A field that identifies the specific version of an instance of a resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "id": {
                "description": "unique identifier.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "cingularReplacementSubscriberNumber": {
                "type": "string",
                "pattern": "^\\d{10}$",
                "minLength": 10,
                "maxLength": 10
              },
              "relatedParty": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RelatedParty_1"
                }
              },
              "toLine": {
                "title": "PhoneLastFourDigitsInfo",
                "description": "Last four digits of number range to be ported.",
                "type": "string",
                "pattern": "^\\d{4}$",
                "minLength": 4,
                "maxLength": 4
              },
              "value": {
                "description": "the value of the logical resource. E.g '0746712345' for  MSISDN's.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "replaceDeleteFromPortRequest": {
                "enum": [
                  "C",
                  "D",
                  "R"
                ],
                "type": "string"
              },
              "place": {
                "$ref": "#/components/schemas/RelatedPlaceRefOrValue"
              },
              "attachment": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AttachmentRefOrValue"
                }
              },
              "administrativeState": {
                "title": "ResourceAdministrativeStateType",
                "description": "Tracks the administrative state of the resource, such as locked, unlocked, shutdown and so on.",
                "enum": [
                  "locked",
                  "unlocked",
                  "shutdown"
                ],
                "type": "string"
              },
              "responseReasonListIndicator": {
                "$ref": "#/components/schemas/SafeString"
              },
              "statusReasonCode": {
                "$ref": "#/components/schemas/SafeString"
              },
              "resourceStatus": {
                "title": "ResourceStatusType",
                "description": "Tracks the resource status of the resource, such as standby, alarm, available, reserved, suspended and so on.",
                "enum": [
                  "standby",
                  "alarm",
                  "available",
                  "reserved",
                  "unknown",
                  "suspended"
                ],
                "type": "string"
              },
              "@type": {
                "description": "When sub-classing, this defines the sub-class entity name.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "category": {
                "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "productType": {
                "$ref": "#/components/schemas/SafeString"
              },
              "note": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Note"
                }
              },
              "endOperatingDate": {
                "description": "A date time( DateTime). The date till the resource is operating.",
                "type": "string",
                "format": "date-time"
              },
              "resourceCharacteristic": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Characteristic"
                }
              },
              "startOperatingDate": {
                "description": "A date time( DateTime). The date from which the resource is operating.",
                "type": "string",
                "format": "date-time"
              },
              "statusReasonDescription": {
                "$ref": "#/components/schemas/SafeString"
              },
              "description": {
                "description": "free-text description of the resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "resourceRelationship": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ResourceRelationship"
                }
              },
              "dueDateTime": {
                "$ref": "#/components/schemas/SafeString"
              },
              "@baseType": {
                "description": "When sub-classing, this defines the super-class.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "operationalState": {
                "title": "ResourceOperationalStateType",
                "description": "Tracks the operational state of the resource, such as enable, disable and so on.",
                "enum": [
                  "enable",
                  "disable"
                ],
                "type": "string"
              }
            }
          },
          "orderItem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BasePortabilityOrderItem"
            }
          },
          "portabilityActivationMode": {
            "description": "manual or automatic.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "portRelated": {
            "$ref": "#/components/schemas/SafeString"
          },
          "endUserName": {
            "$ref": "#/components/schemas/SafeString"
          },
          "portRequestLineStatus": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class Extensible name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "pendingHandsetUpgradeCode": {
            "$ref": "#/components/schemas/SafeString"
          },
          "fulfillmentOrderId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "note": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityMessage"
            }
          },
          "portabilityEffectiveDate": {
            "description": "Effective date at which the action on the Portability Order Item has been done. (The billing at the donor provider must be terminated).",
            "type": "string",
            "format": "date-time"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "portStatus": {
            "$ref": "#/components/schemas/SafeString"
          }
        }
      },
      "PortabilityServiceProvider": {
        "title": "PortabilityServiceProvider",
        "type": "object",
        "required": [
          "@referredType"
        ],
        "properties": {
          "id": {
            "description": "unique identifier.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "Hyperlink reference.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "Name of the related entity.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "role": {
            "description": "Role played by the related party.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class Extensible name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "Note": {
        "title": "Note",
        "description": "Extra information about a given entity",
        "type": "object",
        "properties": {
          "id": {
            "description": "Identifier of the note within its containing entity.",
            "example": "afa9-3d90aaa8da0f",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "author": {
            "description": "Author of the note.",
            "example": "Mr. N. Bene",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "date": {
            "description": "Date of the note.",
            "example": "2020-11-20T08:00:00Z",
            "type": "string",
            "format": "date-time"
          },
          "text": {
            "description": "Text of the note.",
            "example": "This is important",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class Extensible name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "PortabilitySubject_AddPort": {
        "title": "PortabilitySubject",
        "type": "object",
        "required": [
          "billingLastName",
          "authorizationName",
          "billingFirstName",
          "ospBillingAccountNumber"
        ],
        "properties": {
          "billingLastName": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "authorizationName": {
            "description": "Authorization Name This is the end user who authorized the request to port the number.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "maxLength": 60
          },
          "billingNameSuffix": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "billingFirstName": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "billingAccountNumber": {
            "description": ".",
            "type": "string",
            "pattern": "^([0-9]{8}|[0-9]{9}|[0-9]{12})$"
          },
          "billingNamePrefix": {
            "$ref": "#/components/schemas/SafeString"
          },
          "ospBillingAccountPassword": {
            "description": "The old service provider account password",
            "type": "string",
            "pattern": "^.{0,20}$",
            "maxLength": 20
          },
          "billingMiddleInitial": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "ospBillingAccountNumber": {
            "description": "The old service provider account number",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "maxLength": 20
          },
          "serviceAddress": {
            "title": "GeographicAddress",
            "description": "Extended Structured textual way of describing how to find a Property in an urban area (country properties are often defined differently).\nNote: Address corresponds to SID UrbanPropertyAddress",
            "type": "object",
            "properties": {
              "addressLine1": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetNrLast": {
                "description": "Last number in a range of street numbers allocated to a property.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "postcode": {
                "description": "descriptor for a postal delivery area, used to speed and simplify the delivery of mail (also known as zipcode)",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$",
                "minLength": 5,
                "maxLength": 5
              },
              "locality": {
                "description": "An area of defined or undefined boundaries within a local authority or other legislatively defined area, usually rural or semi rural in nature. [ANZLIC-STREET], or a suburb, a bounded locality within a city, town or shire principally of urban character [ANZLICSTREET].",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "stateOrProvince": {
                "description": "the State or Province that the address is in.",
                "enum": [
                  "AL",
                  "AK",
                  "AZ",
                  "AR",
                  "CA",
                  "CO",
                  "CT",
                  "DE",
                  "DC",
                  "FL",
                  "GA",
                  "HI",
                  "ID",
                  "IL",
                  "IN",
                  "IA",
                  "KS",
                  "KY",
                  "LA",
                  "ME",
                  "MD",
                  "MA",
                  "MI",
                  "MN",
                  "MS",
                  "MO",
                  "MT",
                  "NE",
                  "NV",
                  "NH",
                  "NJ",
                  "NM",
                  "NY",
                  "NC",
                  "ND",
                  "OH",
                  "OK",
                  "OR",
                  "PA",
                  "RI",
                  "SC",
                  "SD",
                  "TN",
                  "TX",
                  "UT",
                  "VT",
                  "VA",
                  "WA",
                  "WV",
                  "WI",
                  "WY",
                  "AB",
                  "BC",
                  "DR",
                  "MB",
                  "MX",
                  "NB",
                  "NF",
                  "NS",
                  "ON",
                  "PE",
                  "PQ",
                  "PR",
                  "SK",
                  "VI",
                  "DF",
                  "NA",
                  "GT",
                  "PU",
                  "YA",
                  "SN",
                  "BA",
                  "AP",
                  "CL",
                  "AA",
                  "BI",
                  "PB",
                  "AG",
                  "BN",
                  "CI",
                  "CP",
                  "CS",
                  "DU",
                  "GJ",
                  "GR",
                  "HD",
                  "HK",
                  "MC",
                  "MR",
                  "NL",
                  "NZ",
                  "OX",
                  "QT",
                  "QR",
                  "SL",
                  "SO",
                  "TA",
                  "TB",
                  "TL",
                  "VE",
                  "YC",
                  "ZA",
                  "ZZ",
                  "AE",
                  "BE",
                  "YT",
                  "AS",
                  "FM",
                  "GM",
                  "MH",
                  "NO",
                  "PL",
                  "UM",
                  "VZ",
                  "CE",
                  "CR",
                  "LM",
                  "TE",
                  "FS",
                  "FN",
                  "CN",
                  "GU",
                  "MP",
                  "PW",
                  "NT",
                  "NU",
                  "QC"
                ],
                "type": "string"
              },
              "href": {
                "description": "Hyperlink reference.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetNrSuffix": {
                "description": "the first street number suffix.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetNrLastSuffix": {
                "description": "Last street number suffix for a ranged address.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetName": {
                "description": "Name of the street or other street type.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetSuffix": {
                "description": "A modifier denoting a relative direction.",
                "enum": [
                  "N",
                  "E",
                  "S",
                  "W",
                  "NE",
                  "NW",
                  "SE",
                  "SW"
                ],
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "name": {
                "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home].",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "@schemaLocation": {
                "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetPrefix": {
                "description": "A modifier denoting a relative direction at the beginning of the street name, like the S. in S. ABC BLVD.",
                "enum": [
                  "E",
                  "S",
                  "W",
                  "NE",
                  "NW",
                  "SE",
                  "SW"
                ],
                "type": "string"
              },
              "geoCode": {
                "description": "Address geographical zip code. This attribute is used for addresses on certain geographical maps.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "id": {
                "description": "unique identifier.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "postOfficeBox": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "ruralRouteCenterNumber": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "ruralRouteBoxNumber": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "country": {
                "description": "Country that the address is in.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "geographicLocation": {
                "$ref": "#/components/schemas/GeographicLocationRefOrValue"
              },
              "streetNr": {
                "description": "Number identifying a specific property on a public street. It may be combined with streetNrLast for ranged addresses.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "@type": {
                "description": "When sub-classing, this defines the sub-class entity name.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "urbanizationCode": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "fieldIndicator": {
                "description": "In the request, specifies whether the address validation should take place. If true or not provided, the validation will take place. If false, the validation will be bypassed. In the response, indicates whether the address was reformatted during the validation. ",
                "type": "boolean"
              },
              "city": {
                "description": "City that the address is in.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetType": {
                "description": "alley, avenue, boulevard, brae, crescent, drive, highway, lane, terrace, parade, place, tarn, way, wharf.",
                "enum": [
                  "ALY",
                  "ANX",
                  "ARC",
                  "AVE",
                  "BCH",
                  "BG",
                  "BGS",
                  "BLF",
                  "BLFS",
                  "BLVD",
                  "BND",
                  "BR",
                  "BRG",
                  "BRK",
                  "BRKS",
                  "BTM",
                  "BYP",
                  "BYU",
                  "CIR",
                  "CIRS",
                  "CLB",
                  "CLF",
                  "CLFS",
                  "CMN",
                  "COR",
                  "CORS",
                  "CP",
                  "CPE",
                  "CRES",
                  "CRK",
                  "CRSE",
                  "CRST",
                  "CSWY",
                  "CT",
                  "CTR",
                  "CTRS",
                  "CTS",
                  "CURV",
                  "CV",
                  "CVS",
                  "CYN",
                  "DL",
                  "DM",
                  "DR",
                  "DRS",
                  "DV",
                  "EST",
                  "ESTS",
                  "EXPY",
                  "EXT",
                  "EXTS",
                  "FALL",
                  "FLD",
                  "FLDS",
                  "FLS",
                  "FLT",
                  "FLTS",
                  "FRD",
                  "FRDS",
                  "FRG",
                  "FRGS",
                  "FRK",
                  "FRKS",
                  "FRST",
                  "FRY",
                  "FT",
                  "FWY",
                  "GDN",
                  "GDNS",
                  "GLN",
                  "GLNS",
                  "GRN",
                  "GRNS",
                  "GRV",
                  "GRVS",
                  "GTWY",
                  "HBR",
                  "HBRS",
                  "HCR",
                  "HL",
                  "HLS",
                  "HOLW",
                  "HTS",
                  "HVN",
                  "HWY",
                  "INLT",
                  "INST",
                  "IS",
                  "ISLE",
                  "ISS",
                  "JCT",
                  "JCTS",
                  "KNL",
                  "KNLS",
                  "KY",
                  "KYS",
                  "LAND",
                  "LCK",
                  "LCKS",
                  "LDG",
                  "LF",
                  "LGT",
                  "LGTS",
                  "LK",
                  "LKS",
                  "LN",
                  "LNDG",
                  "LOOP",
                  "MALL",
                  "MEWS",
                  "MDW",
                  "MDWS",
                  "ML",
                  "MLS",
                  "MNR",
                  "MNRS",
                  "MSN",
                  "MT",
                  "MTN",
                  "MTNS",
                  "MTWY",
                  "NCK",
                  "ORCH",
                  "OVAL",
                  "OPAS",
                  "PARK",
                  "PASS",
                  "PATH",
                  "PIKE",
                  "PKY",
                  "PKWY",
                  "PL",
                  "PLN",
                  "PLNS",
                  "PLZ",
                  "PNE",
                  "PNES",
                  "PR",
                  "PRT",
                  "PRTS",
                  "PSGE",
                  "PT",
                  "PTS",
                  "RADL",
                  "RAMP",
                  "RD",
                  "RDS",
                  "RDG",
                  "RDGS",
                  "RIV",
                  "RNCH",
                  "ROW",
                  "RPD",
                  "RPDS",
                  "RST",
                  "RTE",
                  "RUE",
                  "RUN",
                  "SHL",
                  "SHLS",
                  "SHR",
                  "SHRS",
                  "SKWY",
                  "SMT",
                  "SPG",
                  "SPGS",
                  "SPUR",
                  "SQ",
                  "SQS",
                  "ST",
                  "STS",
                  "STA",
                  "STRA",
                  "STRM",
                  "TER",
                  "THWY",
                  "TPKE",
                  "TRAK",
                  "TRCE",
                  "TRFY",
                  "TRWY",
                  "TRL",
                  "TRLR",
                  "TUNL",
                  "UN",
                  "UNS",
                  "UPAS",
                  "VIA",
                  "VIS",
                  "VL",
                  "VLG",
                  "VLGS",
                  "VLY",
                  "VLYS",
                  "VW",
                  "VWS",
                  "WALK",
                  "WALL",
                  "WAY",
                  "WAYS",
                  "WL",
                  "WLS",
                  "XING",
                  "XRD"
                ],
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "addressLine2": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "postcodeExtension": {
                "description": "also known as extension of zipcode",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$",
                "minLength": 4,
                "maxLength": 4
              },
              "@baseType": {
                "description": "When sub-classing, this defines the super-class.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "geographicSubAddress": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/GeographicSubAddress_extended"
                }
              }
            }
          },
          "socialSecurityNumber": {
            "description": ".",
            "type": "string",
            "pattern": "^([0-9]{9}|)$"
          },
          "businessName": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 1
          },
          "additionalTitle": {
            "description": "The name's additional title. A free text field that holds the additional title of the name. For example, Mr. George Washington Sr. President.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "businessTaxId": {
            "description": ".",
            "type": "string",
            "pattern": "^([0-9]{9}|)$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "ServiceZipCodeInfo": {
        "title": "MarketServiceInfo_base",
        "description": "A place object representing the market service info for addPort",
        "type": "object",
        "required": [
          "serviceZipCode",
          "role"
        ],
        "properties": {
          "serviceZipCode": {
            "description": "Service area zip code for primary subscriber",
            "type": "string",
            "pattern": "^\\d+$",
            "minLength": 5,
            "maxLength": 5
          },
          "href": {
            "description": "Unique reference of the place.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home].",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "Unique identifier of the place.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "role": {
            "$ref": "#/components/schemas/SafeString"
          },
          "localMarket": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "productType": {
            "$ref": "#/components/schemas/SafeString"
          },
          "billingMarket": {
            "$ref": "#/components/schemas/SafeString"
          },
          "billingSubMarket": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "billingSystemId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "MarketInfo": {
        "title": "MarketServiceInfo_base",
        "description": "A place object representing the market service info for addPort",
        "type": "object",
        "required": [
          "role",
          "billingMarket",
          "billingSubMarket"
        ],
        "properties": {
          "serviceZipCode": {
            "description": "Service area zip code for primary subscriber",
            "type": "string",
            "pattern": "^\\d+$",
            "minLength": 5,
            "maxLength": 5
          },
          "href": {
            "description": "Unique reference of the place.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home].",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "Unique identifier of the place.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "role": {
            "$ref": "#/components/schemas/SafeString"
          },
          "localMarket": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "productType": {
            "$ref": "#/components/schemas/SafeString"
          },
          "billingMarket": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 2,
            "maxLength": 3
          },
          "billingSubMarket": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "maxLength": 3
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "billingSystemId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "RelatedParty_1": {
        "title": "RelatedParty",
        "description": "Related Entity reference. A related party defines party or party role linked to a specific entity.",
        "type": "object",
        "required": [
          "id",
          "@referredType"
        ],
        "properties": {
          "id": {
            "description": "unique identifier.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "Hyperlink reference.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "Name of the related entity.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "role": {
            "description": "Role played by the related party",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "MSISDNPortinOrderItem_AddPort": {
        "title": "MSISDNPortinOrderItem_AddPort",
        "type": "object",
        "required": [
          "portRequestLineId",
          "id",
          "resource"
        ],
        "properties": {
          "orderItemRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityOrderItemRelationship"
            }
          },
          "portRequestLineId": {
            "type": "number"
          },
          "state": {
            "$ref": "#/components/schemas/PortabilityOrderItemStateType"
          },
          "action": {
            "title": "PortabilityActionType",
            "description": "used for portin portout etc; can be extended or updated directly",
            "enum": [
              "disconnect",
              "port",
              "intraport",
              "out"
            ],
            "type": "string"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, \\u2026).",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "resource": {
            "title": "MSISDN",
            "description": "adding more field into MSISDN",
            "type": "object",
            "required": [
              "serviceArea",
              "fromLine",
              "npaNxx",
              "href",
              "equipmentType",
              "id"
            ],
            "properties": {
              "serviceArea": {
                "title": "ServiceAreaInfo",
                "description": "The service area associated with the port-in subscriber number(s).",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$",
                "maxLength": 12
              },
              "fromLine": {
                "title": "PhoneLastFourDigitsInfo",
                "description": "Last four digits of number range to be ported.",
                "type": "string",
                "pattern": "^\\d{4}$",
                "minLength": 4,
                "maxLength": 4
              },
              "electronicSerialNum": {
                "$ref": "#/components/schemas/SafeString"
              },
              "npaNxx": {
                "title": "PhoneNpaNxxInfo",
                "description": "first 6 digits of subscriber number to be ported.",
                "type": "string",
                "pattern": "^\\d{6}$",
                "minLength": 6,
                "maxLength": 6
              },
              "usageState": {
                "title": "ResourceUsageStateType",
                "description": "Tracks the usage state of the resource, such as idle, active, busy and so on.",
                "enum": [
                  "idle",
                  "active",
                  "busy"
                ],
                "type": "string"
              },
              "simSerialNum": {
                "$ref": "#/components/schemas/SafeString"
              },
              "href": {
                "description": "Hyperlink reference.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "mobileStatus": {
                "$ref": "#/components/schemas/SafeString"
              },
              "imei": {
                "$ref": "#/components/schemas/SafeString"
              },
              "name": {
                "description": "A string used to give a name to the resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "@schemaLocation": {
                "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "activationFeature": {
                "description": "Configuration features.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Feature_extended"
                }
              },
              "equipmentType": {
                "$ref": "#/components/schemas/EquipmentTypeInfo"
              },
              "resourceSpecification": {
                "$ref": "#/components/schemas/ResourceSpecificationRef"
              },
              "resourceVersion": {
                "description": "A field that identifies the specific version of an instance of a resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "id": {
                "description": "unique identifier.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "cingularReplacementSubscriberNumber": {
                "type": "string",
                "pattern": "^\\d{10}$",
                "minLength": 10,
                "maxLength": 10
              },
              "relatedParty": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RelatedParty_1"
                }
              },
              "toLine": {
                "title": "PhoneLastFourDigitsInfo",
                "description": "Last four digits of number range to be ported.",
                "type": "string",
                "pattern": "^\\d{4}$",
                "minLength": 4,
                "maxLength": 4
              },
              "value": {
                "description": "the value of the logical resource. E.g '0746712345' for  MSISDN's.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "replaceDeleteFromPortRequest": {
                "enum": [
                  "C",
                  "D",
                  "R"
                ],
                "type": "string"
              },
              "place": {
                "$ref": "#/components/schemas/RelatedPlaceRefOrValue"
              },
              "attachment": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AttachmentRefOrValue"
                }
              },
              "administrativeState": {
                "title": "ResourceAdministrativeStateType",
                "description": "Tracks the administrative state of the resource, such as locked, unlocked, shutdown and so on.",
                "enum": [
                  "locked",
                  "unlocked",
                  "shutdown"
                ],
                "type": "string"
              },
              "responseReasonListIndicator": {
                "$ref": "#/components/schemas/SafeString"
              },
              "statusReasonCode": {
                "$ref": "#/components/schemas/SafeString"
              },
              "resourceStatus": {
                "title": "ResourceStatusType",
                "description": "Tracks the resource status of the resource, such as standby, alarm, available, reserved, suspended and so on.",
                "enum": [
                  "standby",
                  "alarm",
                  "available",
                  "reserved",
                  "unknown",
                  "suspended"
                ],
                "type": "string"
              },
              "@type": {
                "description": "When sub-classing, this defines the sub-class entity name.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "category": {
                "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "productType": {
                "$ref": "#/components/schemas/SafeString"
              },
              "note": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Note"
                }
              },
              "resourceCharacteristic": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Characteristic"
                }
              },
              "endOperatingDate": {
                "description": "A date time( DateTime). The date till the resource is operating.",
                "type": "string",
                "format": "date-time"
              },
              "startOperatingDate": {
                "description": "A date time( DateTime). The date from which the resource is operating.",
                "type": "string",
                "format": "date-time"
              },
              "statusReasonDescription": {
                "$ref": "#/components/schemas/SafeString"
              },
              "description": {
                "description": "free-text description of the resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "resourceRelationship": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ResourceRelationship"
                }
              },
              "dueDateTime": {
                "$ref": "#/components/schemas/SafeString"
              },
              "@baseType": {
                "description": "When sub-classing, this defines the super-class.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "operationalState": {
                "title": "ResourceOperationalStateType",
                "description": "Tracks the operational state of the resource, such as enable, disable and so on.",
                "enum": [
                  "enable",
                  "disable"
                ],
                "type": "string"
              }
            }
          },
          "orderItem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BasePortabilityOrderItem"
            }
          },
          "portabilityActivationMode": {
            "description": "manual or automatic.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "portRelated": {
            "$ref": "#/components/schemas/SafeString"
          },
          "endUserName": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class Extensible name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "pendingHandsetUpgradeCode": {
            "$ref": "#/components/schemas/SafeString"
          },
          "fulfillmentOrderId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "note": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityMessage"
            }
          },
          "portabilityEffectiveDate": {
            "description": "Effective date at which the action on the Portability Order Item has been done. (The billing at the donor provider must be terminated).",
            "type": "string",
            "format": "date-time"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "PortabilitySubject_UpdatePort": {
        "title": "PortabilitySubject",
        "type": "object",
        "required": [
          "billingLastName",
          "authorizationName",
          "billingFirstName",
          "ospBillingAccountNumber"
        ],
        "properties": {
          "billingLastName": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "authorizationName": {
            "description": "Authorization Name This is the end user who authorized the request to port the number.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "maxLength": 60
          },
          "billingNameSuffix": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "billingFirstName": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "billingAccountNumber": {
            "description": ".",
            "type": "string",
            "pattern": "^([0-9]{8}|[0-9]{9}|[0-9]{12})$"
          },
          "billingNamePrefix": {
            "$ref": "#/components/schemas/SafeString"
          },
          "ospBillingAccountPassword": {
            "description": "The old service provider account password",
            "type": "string",
            "pattern": "^.{0,20}$",
            "maxLength": 20
          },
          "billingMiddleInitial": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "ospBillingAccountNumber": {
            "description": "The old service provider account number",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "maxLength": 20
          },
          "serviceAddress": {
            "title": "GeographicAddress",
            "description": "Extended Structured textual way of describing how to find a Property in an urban area (country properties are often defined differently).\nNote: Address corresponds to SID UrbanPropertyAddress",
            "type": "object",
            "required": [
              "postcode",
              "stateOrProvince",
              "country",
              "city"
            ],
            "properties": {
              "addressLine1": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "locality": {
                "description": "An area of defined or undefined boundaries within a local authority or other legislatively defined area, usually rural or semi rural in nature. [ANZLIC-STREET], or a suburb, a bounded locality within a city, town or shire principally of urban character [ANZLICSTREET].",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "postcode": {
                "description": "descriptor for a postal delivery area, used to speed and simplify the delivery of mail (also know as zipcode).",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$",
                "minLength": 5,
                "maxLength": 5
              },
              "streetNrLast": {
                "description": "Last number in a range of street numbers allocated to a property.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "stateOrProvince": {
                "description": "the State or Province that the address is in.",
                "enum": [
                  "AL",
                  "AK",
                  "AZ",
                  "AR",
                  "CA",
                  "CO",
                  "CT",
                  "DE",
                  "DC",
                  "FL",
                  "GA",
                  "HI",
                  "ID",
                  "IL",
                  "IN",
                  "IA",
                  "KS",
                  "KY",
                  "LA",
                  "ME",
                  "MD",
                  "MA",
                  "MI",
                  "MN",
                  "MS",
                  "MO",
                  "MT",
                  "NE",
                  "NV",
                  "NH",
                  "NJ",
                  "NM",
                  "NY",
                  "NC",
                  "ND",
                  "OH",
                  "OK",
                  "OR",
                  "PA",
                  "RI",
                  "SC",
                  "SD",
                  "TN",
                  "TX",
                  "UT",
                  "VT",
                  "VA",
                  "WA",
                  "WV",
                  "WI",
                  "WY",
                  "AB",
                  "BC",
                  "DR",
                  "MB",
                  "MX",
                  "NB",
                  "NF",
                  "NS",
                  "ON",
                  "PE",
                  "PQ",
                  "PR",
                  "SK",
                  "VI",
                  "DF",
                  "NA",
                  "GT",
                  "PU",
                  "YA",
                  "SN",
                  "BA",
                  "AP",
                  "CL",
                  "AA",
                  "BI",
                  "PB",
                  "AG",
                  "BN",
                  "CI",
                  "CP",
                  "CS",
                  "DU",
                  "GJ",
                  "GR",
                  "HD",
                  "HK",
                  "MC",
                  "MR",
                  "NL",
                  "NZ",
                  "OX",
                  "QT",
                  "QR",
                  "SL",
                  "SO",
                  "TA",
                  "TB",
                  "TL",
                  "VE",
                  "YC",
                  "ZA",
                  "ZZ",
                  "AE",
                  "BE",
                  "YT",
                  "AS",
                  "FM",
                  "GM",
                  "MH",
                  "NO",
                  "PL",
                  "UM",
                  "VZ",
                  "CE",
                  "CR",
                  "LM",
                  "TE",
                  "FS",
                  "FN",
                  "CN",
                  "GU",
                  "MP",
                  "PW",
                  "NT",
                  "NU",
                  "QC"
                ],
                "type": "string"
              },
              "href": {
                "description": "Hyperlink reference.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetNrSuffix": {
                "description": "the first street number suffix.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetNrLastSuffix": {
                "description": "Last street number suffix for a ranged address.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetName": {
                "description": "Name of the street or other street type.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetSuffix": {
                "description": "A modifier denoting a relative direction.",
                "enum": [
                  "N",
                  "E",
                  "S",
                  "W",
                  "NE",
                  "NW",
                  "SE",
                  "SW"
                ],
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetPrefix": {
                "description": "A modifier denoting a relative direction at the beginning of the street name, like the S. in S. ABC BLVD.",
                "enum": [
                  "E",
                  "S",
                  "W",
                  "NE",
                  "NW",
                  "SE",
                  "SW"
                ],
                "type": "string"
              },
              "@schemaLocation": {
                "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "name": {
                "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home].",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "geoCode": {
                "description": "Address geographical zip code. This attribute is used for addresses on certain geographical maps.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "id": {
                "description": "unique identifier.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "postOfficeBox": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "ruralRouteCenterNumber": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "ruralRouteBoxNumber": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "country": {
                "description": "Country that the address is in.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "geographicLocation": {
                "$ref": "#/components/schemas/GeographicLocationRefOrValue"
              },
              "streetNr": {
                "description": "Number identifying a specific property on a public street. It may be combined with streetNrLast for ranged addresses.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "@type": {
                "description": "When sub-classing, this defines the sub-class entity name.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "urbanizationCode": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "streetType": {
                "description": "alley, avenue, boulevard, brae, crescent, drive, highway, lane, terrace, parade, place, tarn, way, wharf.",
                "enum": [
                  "ALY",
                  "ANX",
                  "ARC",
                  "AVE",
                  "BCH",
                  "BG",
                  "BGS",
                  "BLF",
                  "BLFS",
                  "BLVD",
                  "BND",
                  "BR",
                  "BRG",
                  "BRK",
                  "BRKS",
                  "BTM",
                  "BYP",
                  "BYU",
                  "CIR",
                  "CIRS",
                  "CLB",
                  "CLF",
                  "CLFS",
                  "CMN",
                  "COR",
                  "CORS",
                  "CP",
                  "CPE",
                  "CRES",
                  "CRK",
                  "CRSE",
                  "CRST",
                  "CSWY",
                  "CT",
                  "CTR",
                  "CTRS",
                  "CTS",
                  "CURV",
                  "CV",
                  "CVS",
                  "CYN",
                  "DL",
                  "DM",
                  "DR",
                  "DRS",
                  "DV",
                  "EST",
                  "ESTS",
                  "EXPY",
                  "EXT",
                  "EXTS",
                  "FALL",
                  "FLD",
                  "FLDS",
                  "FLS",
                  "FLT",
                  "FLTS",
                  "FRD",
                  "FRDS",
                  "FRG",
                  "FRGS",
                  "FRK",
                  "FRKS",
                  "FRST",
                  "FRY",
                  "FT",
                  "FWY",
                  "GDN",
                  "GDNS",
                  "GLN",
                  "GLNS",
                  "GRN",
                  "GRNS",
                  "GRV",
                  "GRVS",
                  "GTWY",
                  "HBR",
                  "HBRS",
                  "HCR",
                  "HL",
                  "HLS",
                  "HOLW",
                  "HTS",
                  "HVN",
                  "HWY",
                  "INLT",
                  "INST",
                  "IS",
                  "ISLE",
                  "ISS",
                  "JCT",
                  "JCTS",
                  "KNL",
                  "KNLS",
                  "KY",
                  "KYS",
                  "LAND",
                  "LCK",
                  "LCKS",
                  "LDG",
                  "LF",
                  "LGT",
                  "LGTS",
                  "LK",
                  "LKS",
                  "LN",
                  "LNDG",
                  "LOOP",
                  "MALL",
                  "MEWS",
                  "MDW",
                  "MDWS",
                  "ML",
                  "MLS",
                  "MNR",
                  "MNRS",
                  "MSN",
                  "MT",
                  "MTN",
                  "MTNS",
                  "MTWY",
                  "NCK",
                  "ORCH",
                  "OVAL",
                  "OPAS",
                  "PARK",
                  "PASS",
                  "PATH",
                  "PIKE",
                  "PKY",
                  "PKWY",
                  "PL",
                  "PLN",
                  "PLNS",
                  "PLZ",
                  "PNE",
                  "PNES",
                  "PR",
                  "PRT",
                  "PRTS",
                  "PSGE",
                  "PT",
                  "PTS",
                  "RADL",
                  "RAMP",
                  "RD",
                  "RDS",
                  "RDG",
                  "RDGS",
                  "RIV",
                  "RNCH",
                  "ROW",
                  "RPD",
                  "RPDS",
                  "RST",
                  "RTE",
                  "RUE",
                  "RUN",
                  "SHL",
                  "SHLS",
                  "SHR",
                  "SHRS",
                  "SKWY",
                  "SMT",
                  "SPG",
                  "SPGS",
                  "SPUR",
                  "SQ",
                  "SQS",
                  "ST",
                  "STS",
                  "STA",
                  "STRA",
                  "STRM",
                  "TER",
                  "THWY",
                  "TPKE",
                  "TRAK",
                  "TRCE",
                  "TRFY",
                  "TRWY",
                  "TRL",
                  "TRLR",
                  "TUNL",
                  "UN",
                  "UNS",
                  "UPAS",
                  "VIA",
                  "VIS",
                  "VL",
                  "VLG",
                  "VLGS",
                  "VLY",
                  "VLYS",
                  "VW",
                  "VWS",
                  "WALK",
                  "WALL",
                  "WAY",
                  "WAYS",
                  "WL",
                  "WLS",
                  "XING",
                  "XRD"
                ],
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "fieldIndicator": {
                "description": "In the request, specifies whether the address validation should take place. If true or not provided, the validation will take place. If false, the validation will be bypassed. In the response, indicates whether the address was reformatted during the validation. ",
                "type": "boolean"
              },
              "city": {
                "description": "City that the address is in.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "addressLine2": {
                "description": ".",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "postcodeExtension": {
                "description": "also known as extension of zipcode",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$",
                "minLength": 4,
                "maxLength": 4
              },
              "@baseType": {
                "description": "When sub-classing, this defines the super-class.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "geographicSubAddress": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/GeographicSubAddress_extended"
                }
              }
            }
          },
          "businessName": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 1
          },
          "socialSecurityNumber": {
            "description": ".",
            "type": "string",
            "pattern": "^([0-9]{9}|)$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "businessTaxId": {
            "description": ".",
            "type": "string",
            "pattern": "^([0-9]{9}|)$"
          },
          "additionalTitle": {
            "description": "The name's additional title. A free text field that holds the additional title of the name. For example, Mr. George Washington Sr. President.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "PortOutInfo": {
        "type": "object",
        "required": [
          "responseType"
        ],
        "properties": {
          "fromDate": {
            "$ref": "#/components/schemas/SafeString"
          },
          "toDate": {
            "$ref": "#/components/schemas/SafeString"
          },
          "dueDate": {
            "$ref": "#/components/schemas/SafeString"
          },
          "delayCode": {
            "description": "The delay code for response Type D - delay: 6G Port Complexity 6H System Outages 6J High Volume deplayCode is required if responseType is D.",
            "enum": [
              "",
              "6G",
              "6H",
              "6J"
            ],
            "type": "string",
            "maxLength": 2
          },
          "remark": {
            "description": "Used to sign whether the MDN is under contract. (remark string for this port out - optional-",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "maxLength": 160
          },
          "responseType": {
            "description": "The type of the possible response. C=Confirmed D=Delayed R=Resolution Required.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 1,
            "maxLength": 1
          },
          "portOutMdnInfo": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortOutMdnInfo"
            }
          }
        }
      },
      "MSISDNPortabilityOrderItem_UpdatePort": {
        "title": "MSISDNPortabilityOrderItem_UpdatePort",
        "type": "object",
        "required": [
          "portRequestLineId",
          "id",
          "resource"
        ],
        "properties": {
          "orderItemRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityOrderItemRelationship"
            }
          },
          "portRequestLineId": {
            "type": "number"
          },
          "state": {
            "$ref": "#/components/schemas/PortabilityOrderItemStateType"
          },
          "action": {
            "title": "PortabilityActionType",
            "description": "used for portin portout etc; can be extended or updated directly",
            "enum": [
              "disconnect",
              "port",
              "intraport",
              "out"
            ],
            "type": "string"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, \\u2026).",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "resource": {
            "title": "MSISDN",
            "description": "adding more field into MSISDN",
            "type": "object",
            "required": [
              "fromLine",
              "serviceArea",
              "npaNxx",
              "href",
              "equipmentType",
              "id"
            ],
            "properties": {
              "fromLine": {
                "title": "PhoneLastFourDigitsInfo",
                "description": "Last four digits of number range to be ported.",
                "type": "string",
                "pattern": "^\\d{4}$",
                "minLength": 4,
                "maxLength": 4
              },
              "serviceArea": {
                "title": "ServiceAreaInfo",
                "description": "The service area associated with the port-in subscriber number(s).",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$",
                "maxLength": 12
              },
              "electronicSerialNum": {
                "$ref": "#/components/schemas/SafeString"
              },
              "npaNxx": {
                "title": "PhoneNpaNxxInfo",
                "description": "first 6 digits of subscriber number to be ported.",
                "type": "string",
                "pattern": "^\\d{6}$",
                "minLength": 6,
                "maxLength": 6
              },
              "usageState": {
                "title": "ResourceUsageStateType",
                "description": "Tracks the usage state of the resource, such as idle, active, busy and so on.",
                "enum": [
                  "idle",
                  "active",
                  "busy"
                ],
                "type": "string"
              },
              "simSerialNum": {
                "$ref": "#/components/schemas/SafeString"
              },
              "href": {
                "description": "Hyperlink reference.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "mobileStatus": {
                "$ref": "#/components/schemas/SafeString"
              },
              "imei": {
                "$ref": "#/components/schemas/SafeString"
              },
              "name": {
                "description": "A string used to give a name to the resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "@schemaLocation": {
                "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "activationFeature": {
                "description": "Configuration features.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Feature_extended"
                }
              },
              "equipmentType": {
                "$ref": "#/components/schemas/EquipmentTypeInfo"
              },
              "resourceSpecification": {
                "$ref": "#/components/schemas/ResourceSpecificationRef"
              },
              "resourceVersion": {
                "description": "A field that identifies the specific version of an instance of a resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "id": {
                "description": "unique identifier.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "cingularReplacementSubscriberNumber": {
                "type": "string",
                "pattern": "^\\d{10}$",
                "minLength": 10,
                "maxLength": 10
              },
              "relatedParty": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RelatedParty_1"
                }
              },
              "toLine": {
                "title": "PhoneLastFourDigitsInfo",
                "description": "Last four digits of number range to be ported.",
                "type": "string",
                "pattern": "^\\d{4}$",
                "minLength": 4,
                "maxLength": 4
              },
              "value": {
                "description": "the value of the logical resource. E.g '0746712345' for  MSISDN's.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "replaceDeleteFromPortRequest": {
                "enum": [
                  "C",
                  "D",
                  "R"
                ],
                "type": "string"
              },
              "place": {
                "$ref": "#/components/schemas/RelatedPlaceRefOrValue"
              },
              "attachment": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AttachmentRefOrValue"
                }
              },
              "administrativeState": {
                "title": "ResourceAdministrativeStateType",
                "description": "Tracks the administrative state of the resource, such as locked, unlocked, shutdown and so on.",
                "enum": [
                  "locked",
                  "unlocked",
                  "shutdown"
                ],
                "type": "string"
              },
              "responseReasonListIndicator": {
                "$ref": "#/components/schemas/SafeString"
              },
              "statusReasonCode": {
                "$ref": "#/components/schemas/SafeString"
              },
              "resourceStatus": {
                "title": "ResourceStatusType",
                "description": "Tracks the resource status of the resource, such as standby, alarm, available, reserved, suspended and so on.",
                "enum": [
                  "standby",
                  "alarm",
                  "available",
                  "reserved",
                  "unknown",
                  "suspended"
                ],
                "type": "string"
              },
              "@type": {
                "description": "When sub-classing, this defines the sub-class entity name.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "category": {
                "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "productType": {
                "$ref": "#/components/schemas/SafeString"
              },
              "note": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Note"
                }
              },
              "resourceCharacteristic": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Characteristic"
                }
              },
              "endOperatingDate": {
                "description": "A date time( DateTime). The date till the resource is operating.",
                "type": "string",
                "format": "date-time"
              },
              "startOperatingDate": {
                "description": "A date time( DateTime). The date from which the resource is operating.",
                "type": "string",
                "format": "date-time"
              },
              "statusReasonDescription": {
                "$ref": "#/components/schemas/SafeString"
              },
              "description": {
                "description": "free-text description of the resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "resourceRelationship": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ResourceRelationship"
                }
              },
              "dueDateTime": {
                "$ref": "#/components/schemas/SafeString"
              },
              "@baseType": {
                "description": "When sub-classing, this defines the super-class.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "operationalState": {
                "title": "ResourceOperationalStateType",
                "description": "Tracks the operational state of the resource, such as enable, disable and so on.",
                "enum": [
                  "enable",
                  "disable"
                ],
                "type": "string"
              }
            }
          },
          "orderItem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BasePortabilityOrderItem"
            }
          },
          "portabilityActivationMode": {
            "description": "manual or automatic.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "endUserName": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class Extensible name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "fulfillmentOrderId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "note": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityMessage"
            }
          },
          "portabilityEffectiveDate": {
            "description": "Effective date at which the action on the Portability Order Item has been done. (The billing at the donor provider must be terminated).",
            "type": "string",
            "format": "date-time"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "ServiceZipCodeInfo_2": {
        "title": "MarketServiceInfo_base",
        "description": "A place object representing the market service info for addPort",
        "type": "object",
        "required": [
          "serviceZipCode",
          "role"
        ],
        "properties": {
          "serviceZipCode": {
            "description": "Service area zip code for primary subscriber",
            "type": "string",
            "pattern": "^\\d+$",
            "minLength": 5,
            "maxLength": 5
          },
          "href": {
            "description": "Unique reference of the place.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home].",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "Unique identifier of the place.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "role": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "productType": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "billingSystemId": {
            "$ref": "#/components/schemas/SafeString"
          }
        }
      },
      "MarketInfo_3": {
        "title": "MarketServiceInfo_base",
        "description": "A place object representing the market service info for addPort",
        "type": "object",
        "required": [
          "role",
          "billingMarket",
          "billingSubMarket"
        ],
        "properties": {
          "serviceZipCode": {
            "description": "Service area zip code for primary subscriber",
            "type": "string",
            "pattern": "^\\d+$",
            "minLength": 5,
            "maxLength": 5
          },
          "href": {
            "description": "Unique reference of the place.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home].",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "Unique identifier of the place.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "localMarket": {
            "$ref": "#/components/schemas/SafeString"
          },
          "role": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "productType": {
            "$ref": "#/components/schemas/SafeString"
          },
          "billingMarket": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 2,
            "maxLength": 3
          },
          "billingSubMarket": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "maxLength": 3
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "billingSystemId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "SubscriberNumberInfo": {
        "title": "SubscriberNumberInfo",
        "description": "Mobile Telephone Number associated with this serial number.",
        "type": "string",
        "pattern": "^\\d{10}$",
        "minLength": 10,
        "maxLength": 10
      },
      "MSISDNPortabilityOrderBase": {
        "title": "MSISDNPortabilityOrderBase",
        "type": "object",
        "properties": {
          "serviceProviderInfo": {
            "$ref": "#/components/schemas/ServiceProviderInfo"
          },
          "marketServiceInfo": {
            "$ref": "#/components/schemas/MarketServiceInfo"
          },
          "href": {
            "description": "Hyperlink to access the order.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "state": {
            "$ref": "#/components/schemas/PortabilityOrderStateType"
          },
          "dispute": {
            "type": "boolean"
          },
          "externalId": {
            "description": "ID given by the consumer and only understandable by him (to facilitate his searches afterwards).",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "orderRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityOrderRelationship"
            }
          },
          "requestedStartDate": {
            "description": "Order fulfillment start date wished by the requestor. This is used when, for any reason, requestor cannot allow seller to begin to operationally begin the fulfillment before a date.",
            "type": "string",
            "format": "date-time"
          },
          "portabilitySubject": {
            "$ref": "#/components/schemas/PortabilitySubject_minorExtension"
          },
          "commission": {
            "$ref": "#/components/schemas/Commission"
          },
          "portRequestNumber": {
            "description": "Industry-standard PON identifier associated to this Portability request.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "ID created on repository side.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "telportRecordId": {
            "$ref": "#/components/schemas/SafeString"
          },
          "relatedParty": {
            "description": "This will store customer data for port-in requests; not needed for port-out requests.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedParty_1"
            }
          },
          "orderItem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/MSISDNPortabilityOrderItem"
            }
          },
          "stateReasonDescription": {
            "description": "State reason description",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "lastModificationDate": {
            "description": "Date when the order was last modified.",
            "type": "string",
            "format": "date-time"
          },
          "expectedCompletionDate": {
            "description": "Expected delivery date amended by the provider.",
            "type": "string",
            "format": "date-time"
          },
          "completionDate": {
            "description": "Date when the order was completed",
            "type": "string",
            "format": "date-time"
          },
          "requestedCompletionDate": {
            "description": "Date at which the requestor wishes the portability to take place.",
            "type": "string",
            "format": "date-time"
          },
          "serviceProvider": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityServiceProvider"
            }
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class Extensible name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "orderDate": {
            "description": "Date at which the PortabilityOrder has been created.",
            "type": "string",
            "format": "date-time"
          },
          "note": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "stateReason": {
            "description": "State reason short code.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "authorizationDate": {
            "description": "Date at which the PortabilityOrder has been authorized by the customer.",
            "type": "string",
            "format": "date-time"
          },
          "portRequestNumberVersion": {
            "description": "Current version of the industry-standard request.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "priority": {
            "$ref": "#/components/schemas/PortabilityPriorityType"
          },
          "groupRequestNumber": {
            "$ref": "#/components/schemas/SafeString"
          },
          "description": {
            "description": "Description of the product order.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "GeographicLocationRefOrValue": {
        "title": "GeographicLocationRefOrValue",
        "description": "A GeographicLocation is a pure-virtual super-class to the GeoJSON-aligned geometries of Point (addresses and locations), MultiPoint, LineString (streets, highways and boundaries), MultiLineString and Polygon (countries, provinces, tracts of land). Use the @type attribute to specify which of these is being specified by the geometry attribute.",
        "type": "object",
        "required": [
          "@type"
        ],
        "properties": {
          "id": {
            "description": "Unique identifier of the place.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "Unique reference of the place.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home].",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "GeographicSubAddress_extended": {
        "title": "GeographicSubAddress_extended",
        "description": "Representation of a GeographicSubAddress \\nIt is used for addressing within a property in an urban area (country properties are often defined differently). It may refer to a building, a building cluster, or a floor of a multistory building.",
        "type": "object",
        "properties": {
          "levelNumber": {
            "description": "used where a level type may be repeated e.g. BASEMENT 1, BASEMENT 2.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "Link to the subAddress.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "levelType": {
            "description": "describes level types within a building.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "Name of the subAddress to identify it with a meaningful identification.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "subUnitType": {
            "description": "the type of subunit\\ne.g.BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF.",
            "enum": [
              "APT",
              "BSMT",
              "BLDG",
              "DEPT",
              "FL",
              "FRNT",
              "HNGR",
              "LBBY",
              "LOT",
              "LOWR",
              "OFC",
              "PH",
              "PIER",
              "REAR",
              "RM",
              "SIDE",
              "SLIP",
              "SPC",
              "STOP",
              "STE",
              "TRLR",
              "UNIT",
              "UPPR",
              "u0023"
            ],
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "Unique Identifier of the subAddress.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "buildingName": {
            "description": "allows for buildings that have well-known names.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "privateStreetNumber": {
            "description": "private streets numbers internal to a private street.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "subAddressType": {
            "description": "Type of subAddress : it can be a subunit or a private street.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "subUnitNumber": {
            "description": "the discriminator used for the subunit\\noften just a simple number e.g. FLAT 5, may also be a range.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "privateStreetName": {
            "description": "private streets internal to a property (e.g. a university) may have internal names that are not recorded by the land title office.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "PortabilityOrderItemStateType": {
        "title": "PortabilityOrderItemStateType",
        "enum": [
          "acknowledged",
          "rejected",
          "pending",
          "confirmed",
          "executed",
          "deleted",
          "cancelled"
        ],
        "type": "string"
      },
      "PortabilityOrderItemRelationship": {
        "title": "PortabilityOrderItemRelationship",
        "description": "Linked order item to the one containing this attribute",
        "type": "object",
        "required": [
          "id",
          "type"
        ],
        "properties": {
          "id": {
            "description": "Unique identifier of an order item",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "type": {
            "description": "The type of related order item, can be dependancy if the order item needs to be not started until another order item is complete",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "EquipmentTypeInfo": {
        "title": "EquipmentTypeInfo",
        "description": "Equipment type (Cellular = C, GSM = G)",
        "enum": [
          "C",
          "G"
        ],
        "type": "string",
        "minLength": 1
      },
      "ResourceSpecificationRef": {
        "title": "ResourceSpecificationRef",
        "description": "Resources are physical or non-physical components (or some combination of these) within an enterprise's infrastructure or inventory. They are typically consumed or used by services (for example a physical port assigned to a service) or contribute to the realization of a Product (for example, a SIM card). They can be drawn from the Application, Computing and Network domains, and include, for example, Network Elements, software, IT systems, content and information, and technology components.\\nA ResourceSpecification is an abstract base class for representing a generic means for implementing a particular type of Resource. In essence, a ResourceSpecification defines the common attributes and relationships of a set of related Resources, while Resource defines a specific instance that is based on a particular ResourceSpecification.",
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "unique identifier",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "Hyperlink reference",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "Name of the related entity.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "version": {
            "description": "Resource Specification version.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "RelatedPlaceRefOrValue": {
        "title": "RelatedPlaceRefOrValue",
        "description": "Related Entity reference. A related place defines a place described by reference or by value linked to a specific entity. The polymorphic attributes @type, @schemaLocation & @referredType are related to the place entity and not the RelatedPlaceRefOrValue class itself",
        "type": "object",
        "required": [
          "role"
        ],
        "properties": {
          "id": {
            "description": "Unique identifier of the place.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "Unique reference of the place.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home].",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "role": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "Feature_extended": {
        "title": "Feature_extended",
        "description": "Configuration feature.",
        "type": "object",
        "required": [
          "featureCharacteristic",
          "name",
          "upgradeFeatureCode"
        ],
        "properties": {
          "featureCharacteristic": {
            "description": "This is a list of Characteristics for a particular feature.",
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/Characteristic"
            }
          },
          "href": {
            "description": "Hyperlink reference.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "This is the name for the feature.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "Unique identifier of the feature.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "upgradeFeatureCode": {
            "$ref": "#/components/schemas/SafeString"
          },
          "constraint": {
            "description": "This is a list of feature constraints.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConstraintRef"
            }
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "isEnabled": {
            "description": "True if this feature is enabled. Default is true.",
            "default": true,
            "type": "boolean"
          },
          "upgradeFeatureEffectiveDate": {
            "$ref": "#/components/schemas/SafeString"
          },
          "featureRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FeatureRelationship"
            }
          },
          "isBundle": {
            "description": "True if this is a feature group. Default is false.",
            "default": false,
            "type": "boolean"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "AttachmentRefOrValue": {
        "title": "AttachmentRefOrValue",
        "description": "An attachment by value or by reference. An attachment complements the description of an element, for example through a document, a video, a picture.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique identifier for this particular attachment",
            "example": "4aafacbd-11ff-4dc8-b445-305f2215715f",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "URI for this Attachment",
            "example": "http://host/Attachment/4aafacbd-11ff-4dc8-b445-305f2215715f",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "attachmentType": {
            "description": "Attachment type such as video, picture",
            "example": "video",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "content": {
            "description": "The actual contents of the attachment object, if embedded, encoded as base64",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "description": {
            "description": "A narrative text describing the content of the attachment",
            "example": "Photograph of the Product",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "mimeType": {
            "description": "Attachment mime type such as extension file for video, picture and document",
            "example": "video/mp4",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "The name of the attachment",
            "example": "iPhone 14 video",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "url": {
            "description": "Remote reference to the content if web-addressable",
            "example": "http://host/Content/4aafacbd-11ff-4dc8-b445-305f2215715f",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "size": {
            "title": "Quantity",
            "description": "The size of the attachment",
            "type": "object",
            "properties": {
              "amount": {
                "description": "Numeric value in a given unit",
                "default": 1,
                "type": "number"
              },
              "units": {
                "description": "Unit",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              }
            }
          },
          "validFor": {
            "title": "TimePeriod",
            "description": "The period of time for which the attachment is valid",
            "type": "object",
            "required": [
              "endDateTime",
              "startDateTime"
            ],
            "properties": {
              "endDateTime": {
                "description": "End of the time period, using IETC-RFC-3339 format",
                "example": "1985-04-12T23:20:50.52Z",
                "type": "string",
                "format": "date-time"
              },
              "startDateTime": {
                "description": "Start of the time period, using IETC-RFC-3339 format",
                "example": "1985-04-12T23:20:50.52Z",
                "type": "string",
                "format": "date-time"
              }
            }
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class Extensible name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "Characteristic": {
        "title": "Characteristic",
        "description": "Describes a given characteristic of an object or entity through a name/value pair.",
        "type": "object",
        "required": [
          "name",
          "value"
        ],
        "properties": {
          "id": {
            "description": "Unique identifier of the characteristic",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "Name of the characteristic",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "valueType": {
            "description": "Data type of the value of the characteristic",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "characteristicRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CharacteristicRelationship"
            }
          },
          "value": {
            "description": "The value of the characteristic"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "ResourceRelationship": {
        "title": "ResourceRelationship",
        "description": "Linked resources to the one instantiate, such as [bundled] if the resource is a bundle and you want to describe the bundled resources inside this bundle; [reliesOn] if the resource needs another already owned resource to rely on (e.g. an option on an already owned mobile access resource) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful",
        "type": "object",
        "required": [
          "relationshipType",
          "resource"
        ],
        "properties": {
          "relationshipType": {
            "description": "Type of the resource relationship, such as [bundled] if the resource is a bundle and you want to describe the bundled resources inside this bundle; [reliesOn] if the resource needs another already owned resource to rely on (eg an option on an already owned mobile access resource) [targets] or [isTargeted] (depending on the way of expressing the link) for any other kind of links that may be useful",
            "example": "bundled",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "resource": {
            "$ref": "#/components/schemas/ResourceRefOrValue"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "BasePortabilityOrderItem": {
        "title": "BasePortabilityOrderItem",
        "description": "An identified part of the order. A portability order is decomposed into one or more order items.",
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, \\u2026)",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "orderItem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BasePortabilityOrderItem"
            }
          },
          "state": {
            "$ref": "#/components/schemas/PortabilityOrderItemStateType"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "PortabilityMessage": {
        "title": "PortabilityMessage",
        "type": "object",
        "properties": {
          "messageCode": {
            "$ref": "#/components/schemas/SafeString"
          },
          "messageDetail": {
            "$ref": "#/components/schemas/SafeString"
          },
          "messageSummary": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "example": "/uri",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "PortOutMdnInfo": {
        "type": "object",
        "properties": {
          "mdn": {
            "title": "SubscriberNumberInfo",
            "description": "Mobile Directory Number (known as CTN in Telegence system).",
            "type": "string",
            "pattern": "^\\d{10}$",
            "minLength": 10,
            "maxLength": 10
          },
          "reasonCode": {
            "description": "Reason code used in PR2 (port out) transaction only.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "maxLength": 20
          },
          "rsnCdDetail": {
            "description": "The reason code description.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "MarketServiceInfo": {
        "title": "MarketServiceInfo",
        "description": "A place object representing the market service info",
        "type": "object",
        "required": [
          "role"
        ],
        "properties": {
          "serviceZipCode": {
            "description": "Service area zip code for primary subscriber",
            "type": "string",
            "pattern": "^\\d+$",
            "minLength": 5,
            "maxLength": 5
          },
          "href": {
            "description": "Unique reference of the place.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home].",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "Unique identifier of the place.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "role": {
            "$ref": "#/components/schemas/SafeString"
          },
          "localMarket": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "productType": {
            "$ref": "#/components/schemas/SafeString"
          },
          "billingMarket": {
            "$ref": "#/components/schemas/SafeString"
          },
          "billingSubMarket": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "billingSystemId": {
            "$ref": "#/components/schemas/SafeString"
          }
        }
      },
      "PortabilitySubject_minorExtension": {
        "title": "PortabilitySubject",
        "type": "object",
        "properties": {
          "billingLastName": {
            "$ref": "#/components/schemas/SafeString"
          },
          "authorizationName": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "billingNameSuffix": {
            "$ref": "#/components/schemas/SafeString"
          },
          "billingFirstName": {
            "$ref": "#/components/schemas/SafeString"
          },
          "billingAccountNumber": {
            "description": ".",
            "type": "string",
            "pattern": "^([0-9]{8}|[0-9]{9}|[0-9]{12})$"
          },
          "billingNamePrefix": {
            "$ref": "#/components/schemas/SafeString"
          },
          "billingMiddleInitial": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "serviceAddress": {
            "$ref": "#/components/schemas/GeographicAddress"
          },
          "businessName": {
            "description": "Objective is to limit the data provided to safeguard parameters.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$",
            "minLength": 1
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "MSISDNPortabilityOrderItem": {
        "title": "MSISDNPortabilityOrderItem",
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "orderItemRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityOrderItemRelationship"
            }
          },
          "state": {
            "$ref": "#/components/schemas/PortabilityOrderItemStateType"
          },
          "action": {
            "title": "PortabilityActionType",
            "description": "used for portin portout etc; can be extended or updated directly",
            "enum": [
              "disconnect",
              "port",
              "intraport",
              "out"
            ],
            "type": "string"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "id": {
            "description": "Identifier of the line item (generally it is a sequence number 01, 02, 03, \\u2026).",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "resource": {
            "title": "LogicalResource",
            "description": "Logical resource is a type of resource that describes the common set of attributes shared by all concrete logical resources (e.g. TPE, MSISDN, IP Addresses) in the inventory.",
            "type": "object",
            "required": [
              "href",
              "id"
            ],
            "properties": {
              "usageState": {
                "title": "ResourceUsageStateType",
                "description": "Tracks the usage state of the resource, such as idle, active, busy and so on.",
                "enum": [
                  "idle",
                  "active",
                  "busy"
                ],
                "type": "string"
              },
              "href": {
                "description": "Hyperlink reference.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "@schemaLocation": {
                "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "name": {
                "description": "A string used to give a name to the resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "activationFeature": {
                "description": "Configuration features.",
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Feature"
                }
              },
              "resourceSpecification": {
                "$ref": "#/components/schemas/ResourceSpecificationRef"
              },
              "id": {
                "description": "unique identifier.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "resourceVersion": {
                "description": "A field that identifies the specific version of an instance of a resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "relatedParty": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/RelatedParty_1"
                }
              },
              "value": {
                "description": "the value of the logical resource. E.g '0746712345' for  MSISDN's.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "place": {
                "$ref": "#/components/schemas/RelatedPlaceRefOrValue"
              },
              "attachment": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/AttachmentRefOrValue"
                }
              },
              "administrativeState": {
                "title": "ResourceAdministrativeStateType",
                "description": "Tracks the administrative state of the resource, such as locked, unlocked, shutdown and so on.",
                "enum": [
                  "locked",
                  "unlocked",
                  "shutdown"
                ],
                "type": "string"
              },
              "@type": {
                "description": "When sub-classing, this defines the sub-class entity name.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "resourceStatus": {
                "title": "ResourceStatusType",
                "description": "Tracks the resource status of the resource, such as standby, alarm, available, reserved, suspended and so on.",
                "enum": [
                  "standby",
                  "alarm",
                  "available",
                  "reserved",
                  "unknown",
                  "suspended"
                ],
                "type": "string"
              },
              "category": {
                "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "note": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Note"
                }
              },
              "resourceCharacteristic": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/Characteristic"
                }
              },
              "endOperatingDate": {
                "description": "A date time( DateTime). The date till the resource is operating.",
                "type": "string",
                "format": "date-time"
              },
              "startOperatingDate": {
                "description": "A date time( DateTime). The date from which the resource is operating.",
                "type": "string",
                "format": "date-time"
              },
              "resourceRelationship": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ResourceRelationship"
                }
              },
              "description": {
                "description": "free-text description of the resource.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "@baseType": {
                "description": "When sub-classing, this defines the super-class.",
                "type": "string",
                "pattern": "^[?-~ -%'-;=]{0,200}$"
              },
              "operationalState": {
                "title": "ResourceOperationalStateType",
                "description": "Tracks the operational state of the resource, such as enable, disable and so on.",
                "enum": [
                  "enable",
                  "disable"
                ],
                "type": "string"
              }
            }
          },
          "orderItem": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BasePortabilityOrderItem"
            }
          },
          "portabilityActivationMode": {
            "description": "manual or automatic.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "endUserName": {
            "$ref": "#/components/schemas/SafeString"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class Extensible name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "note": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "message": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PortabilityMessage"
            }
          },
          "portabilityEffectiveDate": {
            "description": "Effective date at which the action on the Portability Order Item has been done. (The billing at the donor provider must be terminated).",
            "type": "string",
            "format": "date-time"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "ConstraintRef": {
        "title": "ConstraintRef",
        "description": "Constraint reference. The Constraint resource represents a policy/rule applied to an entity or entity spec.",
        "type": "object",
        "required": [
          "id"
        ],
        "properties": {
          "id": {
            "description": "unique identifier",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "Hyperlink reference",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "Name of the related entity.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "version": {
            "description": "constraint version",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "FeatureRelationship": {
        "title": "FeatureRelationship",
        "description": "Configuration feature.",
        "type": "object",
        "required": [
          "name",
          "relationshipType"
        ],
        "properties": {
          "id": {
            "description": "Unique identifier of the target feature.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "Hyperlink reference.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "This is the name of the target feature.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "relationshipType": {
            "description": "This is the type of the feature relationship.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "validFor": {
            "title": "TimePeriod",
            "description": "The period for which this feature relationship is valid.",
            "type": "object",
            "required": [
              "endDateTime",
              "startDateTime"
            ],
            "properties": {
              "endDateTime": {
                "description": "End of the time period, using IETC-RFC-3339 format",
                "example": "1985-04-12T23:20:50.52Z",
                "type": "string",
                "format": "date-time"
              },
              "startDateTime": {
                "description": "Start of the time period, using IETC-RFC-3339 format",
                "example": "1985-04-12T23:20:50.52Z",
                "type": "string",
                "format": "date-time"
              }
            }
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "CharacteristicRelationship": {
        "title": "CharacteristicRelationship",
        "description": "Another Characteristic that is related to the current Characteristic.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique identifier of the characteristic",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "Hyperlink reference",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "relationshipType": {
            "description": "The type of relationship",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "ResourceRefOrValue": {
        "title": "ResourceRefOrValue",
        "description": "Resource is an abstract entity that describes the common set of attributes shared by all concrete resources. The polymorphic attributes @type, @schemaLocation & @referredType are related to the Resource entity and not the related ResourceRefOrValue class itself",
        "type": "object",
        "required": [
          "id",
          "href",
          "resourceVersion"
        ],
        "properties": {
          "id": {
            "description": "Identifier of an instance of the resource. Required to be unique within the resource type.  Used in URIs as the identifier for specific instances of a type.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "The URI for the object itself.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "category": {
            "description": "Category of the concrete resource. e.g Gold, Silver for MSISDN concrete resource",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "description": {
            "description": "free-text description of the resource.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "endOperatingDate": {
            "description": "A date time( DateTime). The date till the resource is operating.",
            "type": "string",
            "format": "date-time"
          },
          "name": {
            "description": "A string used to give a name to the resource.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "resourceVersion": {
            "description": "A field that identifies the specific version of an instance of a resource.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "startOperatingDate": {
            "description": "A date time( DateTime). The date from which the resource is operating.",
            "type": "string",
            "format": "date-time"
          },
          "activationFeature": {
            "description": "Configuration features.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Feature"
            }
          },
          "administrativeState": {
            "title": "ResourceAdministrativeStateType",
            "description": "Tracks the administrative state of the resource, such as locked, unlocked, shutdown and so on.",
            "enum": [
              "locked",
              "unlocked",
              "shutdown"
            ],
            "type": "string"
          },
          "attachment": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AttachmentRefOrValue"
            }
          },
          "note": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Note"
            }
          },
          "operationalState": {
            "title": "ResourceOperationalStateType",
            "description": "Tracks the operational state of the resource, such as enable, disable and so on.",
            "enum": [
              "enable",
              "disable"
            ],
            "type": "string"
          },
          "place": {
            "$ref": "#/components/schemas/RelatedPlaceRefOrValue"
          },
          "relatedParty": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RelatedParty_1"
            }
          },
          "resourceCharacteristic": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Characteristic"
            }
          },
          "resourceRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ResourceRelationship"
            }
          },
          "resourceSpecification": {
            "$ref": "#/components/schemas/ResourceSpecificationRef"
          },
          "resourceStatus": {
            "title": "ResourceStatusType",
            "description": "Tracks the resource status of the resource, such as standby, alarm, available, reserved, suspended and so on.",
            "enum": [
              "standby",
              "alarm",
              "available",
              "reserved",
              "unknown",
              "suspended"
            ],
            "type": "string"
          },
          "usageState": {
            "title": "ResourceUsageStateType",
            "description": "Tracks the usage state of the resource, such as idle, active, busy and so on.",
            "enum": [
              "idle",
              "active",
              "busy"
            ],
            "type": "string"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@referredType": {
            "description": "The actual type of the target instance when needed for disambiguation.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "GeographicAddress": {
        "title": "GeographicAddress",
        "description": "Structured textual way of describing how to find a Property in an urban area (country properties are often defined differently).\\nNote : Address corresponds to SID UrbanPropertyAddress",
        "type": "object",
        "properties": {
          "id": {
            "description": "unique identifier.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "Hyperlink reference.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "city": {
            "description": "City that the address is in.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "country": {
            "description": "Country that the address is in.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "locality": {
            "description": "An area of defined or undefined boundaries within a local authority or other legislatively defined area, usually rural or semi rural in nature. [ANZLIC-STREET], or a suburb, a bounded locality within a city, town or shire principally of urban character [ANZLICSTREET].",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "A user-friendly name for the place, such as [Paris Store], [London Store], [Main Home].",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "postcode": {
            "description": "descriptor for a postal delivery area, used to speed and simplify the delivery of mail (also know as zipcode).",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "stateOrProvince": {
            "description": "the State or Province that the address is in.",
            "enum": [
              "AL",
              "AK",
              "AZ",
              "AR",
              "CA",
              "CO",
              "CT",
              "DE",
              "DC",
              "FL",
              "GA",
              "HI",
              "ID",
              "IL",
              "IN",
              "IA",
              "KS",
              "KY",
              "LA",
              "ME",
              "MD",
              "MA",
              "MI",
              "MN",
              "MS",
              "MO",
              "MT",
              "NE",
              "NV",
              "NH",
              "NJ",
              "NM",
              "NY",
              "NC",
              "ND",
              "OH",
              "OK",
              "OR",
              "PA",
              "RI",
              "SC",
              "SD",
              "TN",
              "TX",
              "UT",
              "VT",
              "VA",
              "WA",
              "WV",
              "WI",
              "WY",
              "AB",
              "BC",
              "DR",
              "MB",
              "MX",
              "NB",
              "NF",
              "NS",
              "ON",
              "PE",
              "PQ",
              "PR",
              "SK",
              "VI",
              "DF",
              "NA",
              "GT",
              "PU",
              "YA",
              "SN",
              "BA",
              "AP",
              "CL",
              "AA",
              "BI",
              "PB",
              "AG",
              "BN",
              "CI",
              "CP",
              "CS",
              "DU",
              "GJ",
              "GR",
              "HD",
              "HK",
              "MC",
              "MR",
              "NL",
              "NZ",
              "OX",
              "QT",
              "QR",
              "SL",
              "SO",
              "TA",
              "TB",
              "TL",
              "VE",
              "YC",
              "ZA",
              "ZZ",
              "AE",
              "BE",
              "YT",
              "AS",
              "FM",
              "GM",
              "MH",
              "NO",
              "PL",
              "UM",
              "VZ",
              "CE",
              "CR",
              "LM",
              "TE",
              "FS",
              "FN",
              "CN",
              "GU",
              "MP",
              "PW",
              "NT",
              "NU",
              "QC"
            ],
            "type": "string"
          },
          "streetName": {
            "description": "Name of the street or other street type.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "streetNr": {
            "description": "Number identifying a specific property on a public street. It may be combined with streetNrLast for ranged addresses.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "streetNrLast": {
            "description": "Last number in a range of street numbers allocated to a property.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "streetNrLastSuffix": {
            "description": "Last street number suffix for a ranged address.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "streetNrSuffix": {
            "description": "the first street number suffix.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "streetSuffix": {
            "description": "A modifier denoting a relative direction.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "streetType": {
            "description": "alley, avenue, boulevard, brae, crescent, drive, highway, lane, terrace, parade, place, tarn, way, wharf.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "geographicLocation": {
            "$ref": "#/components/schemas/GeographicLocationRefOrValue"
          },
          "geographicSubAddress": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GeographicSubAddress"
            }
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "Feature": {
        "title": "Feature",
        "description": "Configuration feature.",
        "type": "object",
        "required": [
          "name",
          "featureCharacteristic"
        ],
        "properties": {
          "id": {
            "description": "Unique identifier of the feature.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "Hyperlink reference.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "isBundle": {
            "description": "True if this is a feature group. Default is false.",
            "default": false,
            "type": "boolean"
          },
          "isEnabled": {
            "description": "True if this feature is enabled. Default is true.",
            "default": true,
            "type": "boolean"
          },
          "name": {
            "description": "This is the name for the feature.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "constraint": {
            "description": "This is a list of feature constraints.",
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConstraintRef"
            }
          },
          "featureCharacteristic": {
            "description": "This is a list of Characteristics for a particular feature.",
            "type": "array",
            "minItems": 1,
            "items": {
              "$ref": "#/components/schemas/Characteristic"
            }
          },
          "featureRelationship": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FeatureRelationship"
            }
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      },
      "GeographicSubAddress": {
        "title": "GeographicSubAddress",
        "description": "Representation of a GeographicSubAddress \\nIt is used for addressing within a property in an urban area (country properties are often defined differently). It may refer to a building, a building cluster, or a floor of a multistory building.",
        "type": "object",
        "properties": {
          "id": {
            "description": "Unique Identifier of the subAddress.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "href": {
            "description": "Link to the subAddress.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "buildingName": {
            "description": "allows for buildings that have well-known names.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "levelNumber": {
            "description": "used where a level type may be repeated e.g. BASEMENT 1, BASEMENT 2.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "levelType": {
            "description": "describes level types within a building.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "name": {
            "description": "Name of the subAddress to identify it with a meaningful identification.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "privateStreetName": {
            "description": "private streets internal to a property (e.g. a university) may have internal names that are not recorded by the land title office.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "privateStreetNumber": {
            "description": "private streets numbers internal to a private street.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "subAddressType": {
            "description": "Type of subAddress : it can be a subunit or a private street.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "subUnitNumber": {
            "description": "the discriminator used for the subunit\\noften just a simple number e.g. FLAT 5, may also be a range.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "subUnitType": {
            "description": "the type of subunit\\ne.g.BERTH, FLAT, PIER, SUITE, SHOP, TOWER, UNIT, WHARF.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@baseType": {
            "description": "When sub-classing, this defines the super-class.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@schemaLocation": {
            "description": "A URI to a JSON-Schema file that defines additional attributes and relationships.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          },
          "@type": {
            "description": "When sub-classing, this defines the sub-class entity name.",
            "type": "string",
            "pattern": "^[?-~ -%'-;=]{0,200}$"
          }
        }
      }
    }
  }
}