{
  "x-generator": "NSwag v13.17.0.0 (NJsonSchema v10.8.0.0 (Newtonsoft.Json v12.0.0.0))",
  "swagger": "2.0",
  "info": {
    "title": "Snipp Web API",
    "description": "Snipp Interactive Ltd.",
    "version": "1.0.0"
  },
  "host": "loyaltyapi-uat-cxbgdngqb7aucfax.westus2-01.azurewebsites.net",
  "schemes": [
    "https"
  ],
  "consumes": [
    "application/json"
  ],
  "produces": [
    "application/json"
  ],
  "paths": {
    "/{client}/Account/member/{memberId}/points/expire": {
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "Expire member's account points.",
        "operationId": "Account_Post",
        "consumes": [
          "application/json"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member Id",
            "format": "int32",
            "x-nullable": false
          },
          {
            "name": "request",
            "in": "body",
            "description": "The request body model",
            "schema": {
              "$ref": "#/definitions/ExpirePointsRequestModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false | MessageType examples: InvalidAccount, InvalidUser, InsufficientPointBalance",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfExpirePointsRequestModel"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfExpirePointsRequestModel"
                }
              },
              {
                "description": "Success = false | MessageType examples: InvalidAccount, InvalidUser, InsufficientPointBalance",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfExpirePointsRequestModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/Activity/{type}": {
      "get": {
        "tags": [
          "Activities"
        ],
        "operationId": "Activities_GET",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Type",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "SiteRef",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "PromotionIds",
            "in": "query",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfMemberModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfMemberModelV1"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfMemberModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/Activity/Apply/Bulk/Points": {
      "post": {
        "tags": [
          "Activities"
        ],
        "summary": "Awards points to a registered user after they've completed an activity",
        "operationId": "Activities_Post",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "bulkApplyPointsDto",
            "in": "body",
            "description": "The request body model",
            "schema": {
              "$ref": "#/definitions/BulkApplyPointsDto"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true | MessageType example: EarnedPointsSuccess | Data example = EarnedPoints: 10, NewPointBalance: 100\nor\nsuccess = false | MessageType examples: ActivityAlreadyUsed, InvalidUser, InvalidExternalParameters, InvalidPromotion, InvalidEmail, InvalidUserId, NoActiveDeviceExists, DuplicateTransaction, TooManyRequests",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfIDictionaryOfStringAndString"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true | MessageType example: EarnedPointsSuccess | Data example = EarnedPoints: 10, NewPointBalance: 100",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIDictionaryOfStringAndString"
                }
              },
              {
                "description": "success = false | MessageType examples: ActivityAlreadyUsed, InvalidUser, InvalidExternalParameters, InvalidPromotion, InvalidEmail, InvalidUserId, NoActiveDeviceExists, DuplicateTransaction, TooManyRequests",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIDictionaryOfStringAndString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/Activity/ApplyPoints": {
      "post": {
        "tags": [
          "Activities"
        ],
        "summary": "Awards points to a registered user after they've completed an activity",
        "operationId": "Activities_Post2",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "applyPoints",
            "in": "body",
            "description": "The request body model",
            "schema": {
              "$ref": "#/definitions/ApplyPointsDto"
            },
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "processInBackground",
            "in": "query",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true …\nor\nsuccess = false …",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfIDictionaryOfStringAndString"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true …",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIDictionaryOfStringAndString"
                }
              },
              {
                "description": "success = false …",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIDictionaryOfStringAndString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/Activity/SendReferralActivityEmail": {
      "post": {
        "tags": [
          "Activities"
        ],
        "summary": "Sends referral activity email to the user after they have signed up using a referral code.",
        "operationId": "Activities_Post3",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "referralActivityDto",
            "in": "body",
            "description": "look at example model given below",
            "schema": {
              "$ref": "#/definitions/ReferralActivityDto"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true | MessageType example: EmailSentSuccess | Data example = Email sent\nor\nsuccess = false | MessageType example: EmailSentFailure | Data example = Email not sent",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true | MessageType example: EmailSentSuccess | Data example = Email sent",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "success = false | MessageType example: EmailSentFailure | Data example = Email not sent",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        },
        "deprecated": true
      }
    },
    "/{client}/Activity/referral/send": {
      "post": {
        "tags": [
          "Activities"
        ],
        "summary": "Send referral to friend(s). A referral can be a registration link or code",
        "operationId": "Activities_PostReferralSend",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "name": "referralActivityDto",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/ReferralActivityDto"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true | MessageType example: EmailSentSuccess | Data example = Email sent\nor\nsuccess = false | MessageType example: EmailSentFailure | Data example = Email not sent",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true | MessageType example: EmailSentSuccess | Data example = Email sent",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "success = false | MessageType example: EmailSentFailure | Data example = Email not sent",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/document": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Uploads list of documents for the client that satisfies the given ClientName and List of documents parameters.",
        "operationId": "Document_Post",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "document",
            "in": "body",
            "description": "The request body model",
            "schema": {
              "$ref": "#/definitions/DocumentDto"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true | Message example: Document has been queued for processing\nor\nsuccess = false | MessageType examples: InvalidRequest, InvalidBase64String, InvalidMemberId",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfDBNull"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true | Message example: Document has been queued for processing",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              },
              {
                "description": "success = false | MessageType examples: InvalidRequest, InvalidBase64String, InvalidMemberId",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Get all documents for a member or status",
        "operationId": "Document_Get",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "query",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "type",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "status",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "pageNumber",
            "in": "query",
            "format": "int32",
            "default": 1,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "format": "int32",
            "default": 10,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true | Message example: Success\nor\nsuccess = false | MessageType examples: NoDocumentFound",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfDBNull"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true | Message example: Success",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              },
              {
                "description": "success = false | MessageType examples: NoDocumentFound",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/document/member/{memberId}": {
      "post": {
        "tags": [
          "Document"
        ],
        "summary": "Uploads list of documents for the member that satisfies the given ClientName, memberId and list of documents parameters.",
        "operationId": "Document_Post2",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "Member identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "name": "document",
            "in": "body",
            "description": "The request body model",
            "schema": {
              "$ref": "#/definitions/DocumentDto"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true | Message example: Document has been queued for processing\nor\nsuccess = false | MessageType examples: InvalidRequest, InvalidBase64String, InvalidMemberId, InvalidDocumentType",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfDBNull"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true | Message example: Document has been queued for processing",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              },
              {
                "description": "success = false | MessageType examples: InvalidRequest, InvalidBase64String, InvalidMemberId, InvalidDocumentType",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Document"
        ],
        "summary": "Update member document",
        "operationId": "Document_Put",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "format": "int32",
            "x-nullable": false
          },
          {
            "name": "document",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/DocumentModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true | Message example: Document has been updated\nor\nsuccess = false | MessageType examples: InvalidRequest, NoDocumentFound, InvalidMemberId, InvalidMemberDocumentId ,InvalidStatus ,InvalidDocumentType, MemberNotExist",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfDBNull"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true | Message example: Document has been updated",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              },
              {
                "description": "success = false | MessageType examples: InvalidRequest, NoDocumentFound, InvalidMemberId, InvalidMemberDocumentId ,InvalidStatus ,InvalidDocumentType, MemberNotExist",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/document/{memberDocumentId}": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Get Member Document by memberDocumentId",
        "operationId": "Document_Get2",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberDocumentId",
            "in": "path",
            "required": true,
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true | Message example: Success\nor\nsuccess = false | MessageType examples: NoDocumentFound, InvalidMemberDocumentId",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfDBNull"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true | Message example: Success",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              },
              {
                "description": "success = false | MessageType examples: NoDocumentFound, InvalidMemberDocumentId",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/document/GetDocumentBlob/{memberDocumentId}": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Get Document Blob by memberDocumentId",
        "operationId": "Document_GetDocumentBlob",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberDocumentId",
            "in": "path",
            "required": true,
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/document/GetByReference/{reference}": {
      "get": {
        "tags": [
          "Document"
        ],
        "summary": "Get Member Document by memberDocumentId",
        "operationId": "Document_GetByReference",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "reference",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "documentType",
            "in": "query",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true | Message example: Success\nor\nsuccess = false | MessageType examples: NoDocumentFound",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfDBNull"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true | Message example: Success",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              },
              {
                "description": "success = false | MessageType examples: NoDocumentFound",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/document/{documentType}/delete/member/{memberId}": {
      "delete": {
        "tags": [
          "Document"
        ],
        "summary": "Delete Member document",
        "operationId": "Document_Delete",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "documentType",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true | Message example: Document(s) deleted successfully\nor\nsuccess = false | MessageType examples: InvalidMemberId, InvalidDocumentType, DocumentTypeNotFound, NoDocumentFound",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfDBNull"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true | Message example: Document(s) deleted successfully",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              },
              {
                "description": "success = false | MessageType examples: InvalidMemberId, InvalidDocumentType, DocumentTypeNotFound, NoDocumentFound",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/external/rewards/physical/all": {
      "get": {
        "tags": [
          "ExternalRewards"
        ],
        "summary": "Gets reward information for all rewards with given client name.",
        "operationId": "ExternalRewards_GetAll",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardsModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardsModel"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardsModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/external/rewards/physical/all/{userId}": {
      "get": {
        "tags": [
          "ExternalRewards"
        ],
        "summary": "Gets reward information for all rewards with user id to determine if user has valid address.",
        "operationId": "ExternalRewards_GetAllByUserId",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "The user identifier",
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardsModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardsModel"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardsModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/external/rewards/physical/{id}": {
      "get": {
        "tags": [
          "ExternalRewards"
        ],
        "summary": "Gets specific reward information with given reward id.",
        "operationId": "ExternalRewards_Get",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The id of the reward",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardsModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardsModel"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardsModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/external/rewards/orders/{userId}": {
      "get": {
        "tags": [
          "ExternalRewards"
        ],
        "summary": "Gets all reward order information of an user by user identifier.",
        "operationId": "ExternalRewards_GetAllOrders",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "The user identifier",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "page",
            "in": "query",
            "description": "The page number of pagination",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "description": "The total page size return",
            "format": "int32",
            "default": 10,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardOrdersModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardOrdersModel"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardOrdersModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/external/rewards/physical/redeem": {
      "post": {
        "tags": [
          "ExternalRewards"
        ],
        "summary": "Redeem specific reward given by request model.",
        "operationId": "ExternalRewards_Post",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "requestModel",
            "in": "body",
            "description": "The request body model",
            "schema": {
              "$ref": "#/definitions/RedeemRequestModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true | Message example: Your redemption was successful!\nor\nsuccess = false | MessageType examples: InvalidUser, InsufficientPointBalance, NoStockAvailable, AddressMissing, NoStockAvailable, ProviderNotFound, InvalidReward, MaxRedeemLimitReached, MaxOrderQtyReached, InvalidQuantity, InternalRewardsAPIFailure, DuplicateTransaction",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true | Message example: Your redemption was successful!",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
                }
              },
              {
                "description": "success = false | MessageType examples: InvalidUser, InsufficientPointBalance, NoStockAvailable, AddressMissing, NoStockAvailable, ProviderNotFound, InvalidReward, MaxRedeemLimitReached, MaxOrderQtyReached, InvalidQuantity, InternalRewardsAPIFailure, DuplicateTransaction",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/external/rewards/giftcards": {
      "post": {
        "tags": [
          "ExternalRewards"
        ],
        "summary": "Gets multiple gift card details by client and given with giftcard name filters.",
        "operationId": "ExternalRewards_GetMultipleGiftCard",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "rewardFilters",
            "in": "body",
            "description": "The request body model",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/RewardFilter"
              }
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardResponseOfGiftCardRewards"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardResponseOfGiftCardRewards"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardResponseOfGiftCardRewards"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/external/rewards/customcode": {
      "post": {
        "tags": [
          "ExternalRewards"
        ],
        "summary": "Redeem reward for the type of custom code",
        "description": "Physical redemption does not require \n Amount field\n DeductPoints field",
        "operationId": "ExternalRewards_RedeemCustomCode",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "requestModel",
            "in": "body",
            "description": "The request body model",
            "schema": {
              "$ref": "#/definitions/RedeemRequestModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false | MessageType examples: InvalidUser, InsufficientPointBalance, NoStockAvailable, AddressMissing, NoStockAvailable, ProviderNotFound, InvalidReward, RedemptionLimitReached, MaxOrderQtyReached, InvalidQuantity ",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
                }
              },
              {
                "description": "success = false | MessageType examples: InvalidUser, InsufficientPointBalance, NoStockAvailable, AddressMissing, NoStockAvailable, ProviderNotFound, InvalidReward, RedemptionLimitReached, MaxOrderQtyReached, InvalidQuantity ",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/external/rewards/giftcards/{giftCardId}": {
      "get": {
        "tags": [
          "ExternalRewards"
        ],
        "summary": "Gets giftcard details given by giftcard Id.",
        "operationId": "ExternalRewards_GetGiftCard",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "giftCardId",
            "in": "path",
            "required": true,
            "description": "The giftcard identifier",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardResponseOfGiftCardRewards"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardResponseOfGiftCardRewards"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardResponseOfGiftCardRewards"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/language": {
      "get": {
        "tags": [
          "Language"
        ],
        "summary": "Get a list of languages by given client.",
        "operationId": "Language_",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfICollectionOfLanguageModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfICollectionOfLanguageModel"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfICollectionOfLanguageModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/callback": {
      "post": {
        "tags": [
          "MemberWebhook"
        ],
        "operationId": "MemberWebhook_Post",
        "consumes": [
          "application/json",
          "application/xml"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "",
            "schema": {
              "type": "file"
            }
          }
        }
      }
    },
    "/{client}/notifications/member/{memberId}": {
      "get": {
        "tags": [
          "Notifications"
        ],
        "summary": "Gets all member notifications by memberId",
        "operationId": "Notifications_Get",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "member id to fetch the notifications",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "deviceDatetime",
            "in": "query",
            "required": true,
            "description": "device date time",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "date",
            "in": "query",
            "description": "boolean flag to indicate if devicedatetime is null take the system datetime",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageIndex",
            "in": "query",
            "description": "page index: default page index=1",
            "format": "int32",
            "default": 1,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "description": "page size: default page size=20",
            "format": "int32",
            "default": 20,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success=true\nor\nsuccess=false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfICollectionOfNotificationModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success=true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfICollectionOfNotificationModel"
                }
              },
              {
                "description": "success=false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfICollectionOfNotificationModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data\nor\nError: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            },
            "x-expectedSchemas": [
              {
                "description": "Error: Bad Request | Data Validation Error | No Data",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              },
              {
                "description": "Error: Bad Request | Data Validation Error | No Data",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              }
            ]
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized\nor\nError: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            },
            "x-expectedSchemas": [
              {
                "description": "Error: Unauthorized",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              },
              {
                "description": "Error: Unauthorized",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              }
            ]
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden\nor\nError: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            },
            "x-expectedSchemas": [
              {
                "description": "Error: Forbidden",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              },
              {
                "description": "Error: Forbidden",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              }
            ]
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response\nor\nError: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            },
            "x-expectedSchemas": [
              {
                "description": "Error: Not Found | No Client Response",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              },
              {
                "description": "Error: Not Found | No Client Response",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              }
            ]
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error\nor\nConnection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            },
            "x-expectedSchemas": [
              {
                "description": "Connection Not Established \n Internal Server Error",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              },
              {
                "description": "Connection Not Established \n Internal Server Error",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              }
            ]
          }
        }
      }
    },
    "/{client}/notifications/member/unread": {
      "get": {
        "tags": [
          "Notifications"
        ],
        "summary": "Get the unread notification count by userId.",
        "operationId": "Notifications_Get2",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "userId",
            "in": "query",
            "required": true,
            "description": "user's Id",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "deviceDatetime",
            "in": "query",
            "required": true,
            "description": "device date time",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success=true\nor\nsuccess=false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfICollectionOfNotificationModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success=true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfICollectionOfNotificationModel"
                }
              },
              {
                "description": "success=false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfICollectionOfNotificationModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data\nor\nError: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            },
            "x-expectedSchemas": [
              {
                "description": "Error: Bad Request | Data Validation Error | No Data",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              },
              {
                "description": "Error: Bad Request | Data Validation Error | No Data",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              }
            ]
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized\nor\nError: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            },
            "x-expectedSchemas": [
              {
                "description": "Error: Unauthorized",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              },
              {
                "description": "Error: Unauthorized",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              }
            ]
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden\nor\nError: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            },
            "x-expectedSchemas": [
              {
                "description": "Error: Forbidden",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              },
              {
                "description": "Error: Forbidden",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              }
            ]
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response\nor\nError: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            },
            "x-expectedSchemas": [
              {
                "description": "Error: Not Found | No Client Response",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              },
              {
                "description": "Error: Not Found | No Client Response",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              }
            ]
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error\nor\nConnection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            },
            "x-expectedSchemas": [
              {
                "description": "Connection Not Established \n Internal Server Error",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              },
              {
                "description": "Connection Not Established \n Internal Server Error",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              }
            ]
          }
        }
      }
    },
    "/{client}/payment/pointbalance/{deviceid}": {
      "get": {
        "tags": [
          "Payment"
        ],
        "summary": "Get member point balance by given member's device identifier.",
        "operationId": "Payment_Get",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "deviceId",
            "in": "path",
            "required": true,
            "description": "The device identifier",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success=true\nor\nsuccess=false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfPaymentResponseModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "success=true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfPaymentResponseModelV1"
                }
              },
              {
                "description": "success=false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfPaymentResponseModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/payment": {
      "post": {
        "tags": [
          "Payment"
        ],
        "summary": "Deduct points from member's device.",
        "operationId": "Payment_Post",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "payment",
            "in": "body",
            "description": "The request body model",
            "schema": {
              "$ref": "#/definitions/PaymentRequestModelV1"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success=true\nor\nsuccess=false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfPaymentResponseModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "success=true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfPaymentResponseModelV1"
                }
              },
              {
                "description": "success=false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfPaymentResponseModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/payment/{provider}/setup": {
      "post": {
        "tags": [
          "Payment"
        ],
        "summary": "Pay",
        "operationId": "Payment_Setup",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "provider",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "query",
            "required": true,
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/payment/{provider}/card": {
      "post": {
        "tags": [
          "Payment"
        ],
        "summary": "Pay",
        "operationId": "Payment_Post2",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "provider",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "name": "model",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/PaymentProviderRequestModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/payment/{provider}/cancel/{memberId}": {
      "post": {
        "tags": [
          "Payment"
        ],
        "summary": "CancelPayment",
        "operationId": "Payment_CancelPayment",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "provider",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "format": "int32",
            "x-nullable": false
          },
          {
            "name": "request",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/CancelPaymentRequestModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/payment/{provider}/activate/{memberId}": {
      "post": {
        "tags": [
          "Payment"
        ],
        "summary": "CancelPayment",
        "operationId": "Payment_ActivatePayment",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "provider",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/payment/{provider}/session/{memberId}": {
      "post": {
        "tags": [
          "Payment"
        ],
        "summary": "Session",
        "operationId": "Payment_Session",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "provider",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "returnUrl",
            "in": "query",
            "required": true,
            "x-nullable": true
          }
        ],
        "responses": {
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/payment/{provider}/manageCustomers": {
      "post": {
        "tags": [
          "Payment"
        ],
        "operationId": "Payment_ManageCustomers",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "provider",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "name": "memberIds",
            "in": "body",
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/payment/{provider}/applyCoupon/{memberId}": {
      "post": {
        "tags": [
          "Payment"
        ],
        "summary": "ApplyCoupon",
        "operationId": "Payment_ApplyCoupon",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "provider",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/productFamily": {
      "get": {
        "tags": [
          "ProductFamily"
        ],
        "summary": "Get a list of product family types by given client.",
        "operationId": "ProductFamily_Get",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success=true\nor\nsuccess=false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfListOfProductFamilyTypeModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success=true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfProductFamilyTypeModel"
                }
              },
              {
                "description": "success=false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfProductFamilyTypeModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/productFamily/{name}": {
      "get": {
        "tags": [
          "ProductFamily"
        ],
        "summary": "Get specific product family type with given product type name.",
        "operationId": "ProductFamily_Get2",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "name",
            "in": "path",
            "required": true,
            "description": "The ProductFamilyType name",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success=true\nor\nsuccess=false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfProductFamilyTypeModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success=true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfProductFamilyTypeModel"
                }
              },
              {
                "description": "success=false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfProductFamilyTypeModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/segment/member/{memberId}": {
      "get": {
        "tags": [
          "Segment"
        ],
        "summary": "Get a list of member segment information given by member identifier.",
        "operationId": "Segment_Get",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier",
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success=true\nor\nsuccess=false | MessageType examples: InvalidMemberId, MemberNotinSegment",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfSegmentAdminModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success=true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfSegmentAdminModel"
                }
              },
              {
                "description": "success=false | MessageType examples: InvalidMemberId, MemberNotinSegment",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfSegmentAdminModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/segment/member": {
      "post": {
        "tags": [
          "Segment"
        ],
        "operationId": "Segment_AssignSegment",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "name": "memberSegmentModel",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/MemberSegmentPostModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success=true\nor\nsuccess=false | MessageType examples: InvalidMemberId, InvalidPromotionIds, InvalidSegment, InvalidRequest",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfSegmentAdminModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success=true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfSegmentAdminModel"
                }
              },
              {
                "description": "success=false | MessageType examples: InvalidMemberId, InvalidPromotionIds, InvalidSegment, InvalidRequest",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfSegmentAdminModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/segment/member/remove": {
      "delete": {
        "tags": [
          "Segment"
        ],
        "summary": "Remove a member from a segment given by member identifier (MemberId or ExtReference) and segment information.\nThe removal is processed in the background, and audit trail is maintained.\nYou can identify the member using either MemberId or ExtReference.",
        "operationId": "Segment_RemoveMemberFromSegment",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "memberSegmentRemoveModel",
            "in": "body",
            "description": "The member segment removal model containing either MemberId or ExtReference, and either SegmentName or SegmentId",
            "schema": {
              "$ref": "#/definitions/MemberSegmentRemoveModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success=true\nor\nsuccess=false | MessageType examples: InvalidMember, InvalidSegment, InvalidSegmentId, InvalidRequest, MemberNotInSegment",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfBoolean"
            },
            "x-expectedSchemas": [
              {
                "description": "success=true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfBoolean"
                }
              },
              {
                "description": "success=false | MessageType examples: InvalidMember, InvalidSegment, InvalidSegmentId, InvalidRequest, MemberNotInSegment",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfBoolean"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/stampcard/{memberId}": {
      "get": {
        "tags": [
          "StampCard"
        ],
        "summary": "Get a list of stamp card Information given by member identifier.",
        "operationId": "StampCard_Get",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pId",
            "in": "query",
            "description": "The promotion identifier",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success=true\nor\nsuccess=false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfListOfStampCardModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success=true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfStampCardModel"
                }
              },
              {
                "description": "success=false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfStampCardModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/stampcard/{memberId}/rewards": {
      "get": {
        "tags": [
          "StampCard"
        ],
        "summary": "Get StampCard Promotions.",
        "operationId": "StampCard_Get2",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "TransactionType",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "TransactionStatus",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ProductFamilySubType",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ProductFamilyType",
            "in": "query",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfIEnumerableOfStampcardRewardsModel"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfStampcardRewardsModel"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfStampcardRewardsModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/stampcard/{memberId}/rewards/redeem": {
      "post": {
        "tags": [
          "StampCard"
        ],
        "summary": "Get StampCard Promotions.",
        "operationId": "StampCard_Post",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "format": "int32",
            "x-nullable": false
          },
          {
            "name": "model",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/StampcardRedeemRewardModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfIEnumerableOfObject"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfObject"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfObject"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/Tasks/member/{memberId}": {
      "get": {
        "tags": [
          "Tasks"
        ],
        "summary": "Get user task's detail",
        "operationId": "Task_Get",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member Id",
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false | Messagetypes examples: InvalidRequest",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfListOfUserTaskDetailsModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfUserTaskDetailsModelV1"
                }
              },
              {
                "description": "success = false | Messagetypes examples: InvalidRequest",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfUserTaskDetailsModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/Tier": {
      "get": {
        "tags": [
          "Tier"
        ],
        "summary": "Get a list of product family types by given client.",
        "operationId": "Tier_Get",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success=true\nor\nsuccess=false\nor\nsuccess=true\nor\nsuccess=false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfListOfTierModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success=true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfTierModel"
                }
              },
              {
                "description": "success=false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfTierModel"
                }
              },
              {
                "description": "success=true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfTierModel"
                }
              },
              {
                "description": "success=false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfTierModel"
                }
              }
            ]
          }
        }
      }
    },
    "/{client}/transaction/callback": {
      "post": {
        "tags": [
          "TransactionCallback"
        ],
        "operationId": "TransactionCallback_Post",
        "consumes": [
          "application/json",
          "application/xml"
        ],
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": true,
            "description": "",
            "schema": {
              "type": "file"
            }
          }
        }
      }
    },
    "/{client}/device/{deviceId}": {
      "get": {
        "tags": [
          "Device"
        ],
        "summary": "Get device information filter by device identifier.",
        "operationId": "Device_Get",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "deviceId",
            "in": "path",
            "required": true,
            "description": "The device identifier.",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfDeviceModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDeviceModel"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDeviceModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/device/available": {
      "get": {
        "tags": [
          "Device"
        ],
        "summary": "Get the next available device.",
        "operationId": "Device_GetNextAvailableDevice",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/device/{deviceId}/status": {
      "get": {
        "tags": [
          "Device"
        ],
        "summary": "Get device status information filter by device identifier.",
        "operationId": "Device_GetDeviceStatus",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "deviceId",
            "in": "path",
            "required": true,
            "description": "The device identifier.",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfDeviceCheckDto"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDeviceCheckDto"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDeviceCheckDto"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/device": {
      "get": {
        "tags": [
          "Device"
        ],
        "summary": "Get a list of devices filter by member identifier.",
        "operationId": "Device_Get2",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "showAll",
            "in": "query",
            "description": "If set to true [show all]. Defaults to false",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "description": "The number of results per page, default is 10",
            "format": "int32",
            "default": 10,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "page",
            "in": "query",
            "description": "The page to return, defaults to the first page",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfIEnumerableOfDeviceModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfDeviceModel"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfDeviceModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/device/{type}/{status}": {
      "get": {
        "tags": [
          "Device"
        ],
        "summary": "Get a list of devices filter by member identifier with device's type and its status.",
        "operationId": "Device_Get3",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "type",
            "in": "path",
            "required": true,
            "description": "The device profile type filter. ",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "status",
            "in": "path",
            "required": true,
            "description": "The device status filter.",
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "showAll",
            "in": "query",
            "description": "If set to true [show all]. Defaults to false",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "description": "The number of results per page, default is 10",
            "format": "int32",
            "default": 10,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "page",
            "in": "query",
            "description": "The page to return, defaults to the first page",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfIEnumerableOfDeviceModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfDeviceModel"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfDeviceModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/v2/register": {
      "post": {
        "tags": [
          "Member"
        ],
        "summary": "Create a new member based on what is passed to the endpoint and assigns a device, sets up authentication and an external login.",
        "operationId": "Member_Post",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "request",
            "in": "body",
            "description": "The request body model.",
            "schema": {
              "$ref": "#/definitions/MemberCreateModelV1"
            },
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "assignDevice",
            "in": "query",
            "description": "The assign device.",
            "default": true,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false | MessageType examples: InvalidClientId, ClientIdMissing, MobileNumberAlreadyExists, InvalidClientId",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfInteger"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfInteger"
                }
              },
              {
                "description": "success = false | MessageType examples: InvalidClientId, ClientIdMissing, MobileNumberAlreadyExists, InvalidClientId",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfInteger"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member": {
      "post": {
        "tags": [
          "Member"
        ],
        "summary": "Create a new member based on what is passed to the endpoint and assigns a device, sets up authentication and an external login.",
        "operationId": "Member_Post2",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "request",
            "in": "body",
            "description": "The request body model.",
            "schema": {
              "$ref": "#/definitions/MemberCreateModelV1"
            },
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "assignAuth",
            "in": "query",
            "description": "The assign authentication.",
            "default": false,
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "assignDevice",
            "in": "query",
            "description": "The assign device.",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "assignExternalLogin",
            "in": "query",
            "description": "The assign external login.",
            "default": false,
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false | MessageType examples: InvalidClientId, ClientIdMissing, MobileNumberAlreadyExists, InvalidClientId, InvalidUsernameLength, InvalidExtReferenceLength, InvalidEmailLength, InvalidEmailFormat",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfInteger"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfInteger"
                }
              },
              {
                "description": "success = false | MessageType examples: InvalidClientId, ClientIdMissing, MobileNumberAlreadyExists, InvalidClientId, InvalidUsernameLength, InvalidExtReferenceLength, InvalidEmailLength, InvalidEmailFormat",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfInteger"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "get": {
        "tags": [
          "Member"
        ],
        "summary": "Gets a list of members according to the member search model provided. \nThe list will only contain active members. \nThe list's contents will also depend on the permissions of the consumer's role.",
        "operationId": "Member_Get",
        "parameters": [
          {
            "type": "string",
            "name": "Username",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Firstname",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Lastname",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Email",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Phone",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "MobilePhone",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "MemberId",
            "in": "query",
            "format": "int32",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "CreateDate",
            "in": "query",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "SiteRef",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "DateOfBirth",
            "in": "query",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "HouseNumber",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "AddressLine1",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "City",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Zip",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Street",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "CountryId",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "DeviceId",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "AccountId",
            "in": "query",
            "format": "int32",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "Postbox",
            "in": "query",
            "format": "int32",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ContactDetailsType",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "IsProspect",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "NameIdentifier",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ExtReference",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "LegacyNumber",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "UserSubType",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "showAll",
            "in": "query",
            "description": "if set to true [show all].",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "description": "The size of the page.",
            "format": "int32",
            "default": 10,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "page",
            "in": "query",
            "description": "The page.",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "exactMatch",
            "in": "query",
            "description": "If set to true, [exact match]. Note: exact match is not available on quick search. ",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "phoneticSearch",
            "in": "query",
            "description": "If set to true, [phonetic search].",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "quickSearch",
            "in": "query",
            "description": "By default, the search results are comprehensive. Quick search is faster because it only brings back summary details on members. If set to true, [quick search].",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "clientFilterRequired",
            "in": "query",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "includeReferredMemberData",
            "in": "query",
            "description": "Optional flag (default: false). When true, every member in the result set will include a\nReferredMembers list populated via MapMembers. Note: enabling this on large result sets\nwill increase response time due to additional DB lookups per member.",
            "default": false,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfIEnumerableOfMemberModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfMemberModelV1"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfMemberModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{fromMemberId}/points/transfer/{toMemberId}": {
      "post": {
        "tags": [
          "Member"
        ],
        "summary": "Transfer points between two members, FromMemberId and ToMemberId passed as identifier parameters.",
        "operationId": "Member_Post3",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "fromMemberId",
            "in": "path",
            "required": true,
            "description": "The source member identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "toMemberId",
            "in": "path",
            "required": true,
            "description": "The destination member identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "name": "model",
            "in": "body",
            "description": "Points To Transfer and Item Code info, look at the example model given below",
            "schema": {
              "$ref": "#/definitions/TransferPointsModelV1"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfTransferPointsDto"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfTransferPointsDto"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfTransferPointsDto"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}": {
      "put": {
        "tags": [
          "Member"
        ],
        "summary": "Updates an existing member based on what is passed to this endpoint (PUT)",
        "operationId": "Member_Put",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "name": "request",
            "in": "body",
            "description": "The request.",
            "schema": {
              "$ref": "#/definitions/MemberUpdateModelV1"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "get": {
        "tags": [
          "Member"
        ],
        "summary": "Gets a single member filter by member identifer.",
        "operationId": "Member_Get2",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "includeReferredMemberData",
            "in": "query",
            "description": "Optional flag (default: false). When true, every member in the result set will include a\nReferredMembers list populated via MapMembers. Note: enabling this on large result sets\nwill increase response time due to additional DB lookups per member.",
            "default": false,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfMemberModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfMemberModelV1"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfMemberModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{nameIdentifier}": {
      "get": {
        "tags": [
          "Member"
        ],
        "summary": "Gets a single member filter by name identifer.",
        "operationId": "Member_Get3",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "nameIdentifier",
            "in": "path",
            "required": true,
            "description": "The member's name identifier, a GUID created when they are added to the auth server",
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "includeReferredMemberData",
            "in": "query",
            "description": "Optional flag (default: false). When true, every member in the result set will include a\nReferredMembers list populated via MapMembers. Note: enabling this on large result sets\nwill increase response time due to additional DB lookups per member.",
            "default": false,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfMemberModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfMemberModelV1"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfMemberModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/GetByUsername": {
      "get": {
        "tags": [
          "Member"
        ],
        "summary": "Gets a single member filter by member's username.",
        "operationId": "Member_GetByUsername",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "username",
            "in": "query",
            "required": true,
            "description": "The username.",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "includeReferredMemberData",
            "in": "query",
            "description": "Optional flag (default: false). When true, the response member object includes a\nReferredMembers list with details (UserId, Username, Email, PointsBalance) of all\nmembers who signed up using this member's referral code. The population is handled\ninside MapMembers — ReferredMembers is null when this flag is false or omitted.",
            "default": false,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfMemberModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfMemberModelV1"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfMemberModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/exist": {
      "get": {
        "tags": [
          "Member"
        ],
        "summary": "Check if a member exists based on their username passed as paramter.",
        "operationId": "Member_CheckExistByUsername",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "source",
            "in": "query",
            "required": true,
            "description": "The username.",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfInteger"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfInteger"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfInteger"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/GetByUserSubType": {
      "get": {
        "tags": [
          "Member"
        ],
        "summary": "Gets list of members that satisfies the given ClientName and MemberSubType parameters.",
        "operationId": "Member_GetByUserSubType",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "subType",
            "in": "query",
            "description": "The MemberSubType",
            "default": "Shelter",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfListOfMemberSubTypeViewData"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfMemberSubTypeViewData"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfMemberSubTypeViewData"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/Anonymize/Transactions/{memberId}": {
      "delete": {
        "tags": [
          "Member"
        ],
        "summary": "Delete member transactions and any receipt related data.",
        "operationId": "Member_DeleteMyData",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "member id to delete",
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false | MessageType examples: InvalidUserId",
            "schema": {},
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              },
              {
                "description": "success = false | MessageType examples: InvalidUserId",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfInteger"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/AccountBalance": {
      "get": {
        "tags": [
          "Member"
        ],
        "summary": "Gets a member's account balance filter by member Identifier",
        "operationId": "Member_GetAccountBalance",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifer",
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfAccountModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfAccountModel"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfAccountModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/UpdateLastLoginDate": {
      "put": {
        "tags": [
          "Member"
        ],
        "summary": "Update latest login date and time given by member identifier.",
        "operationId": "Member_UpdateLastLoginDate",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "isApplyPromotion",
            "in": "query",
            "description": "Whether to apply login type promotion if exists.",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "siteRef",
            "in": "query",
            "default": "",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/profile/image/{memberId}": {
      "put": {
        "tags": [
          "Member"
        ],
        "summary": "Update profile image of a member.",
        "operationId": "Member_UploadProfileImage",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "name": "request",
            "in": "body",
            "description": "The request",
            "schema": {
              "$ref": "#/definitions/HttpRequestMessage"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/goals": {
      "get": {
        "tags": [
          "Member"
        ],
        "summary": "Get a list of MemberGoal information filter by member identifier.",
        "operationId": "Member_GetGoals",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier",
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfUserGoalModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfUserGoalModel"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfUserGoalModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Member"
        ],
        "summary": "Update multiple goal information for the member given by member identifier.",
        "operationId": "Member_UpdateGoals",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "name": "request",
            "in": "body",
            "description": "the request",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/UserGoalModel"
              }
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false | MessageType: InvalidMemberId",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "success = false | MessageType: InvalidMemberId",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/goals/{goalId}": {
      "put": {
        "tags": [
          "Member"
        ],
        "summary": "Update single goal information for the member given by member identifier and goal identifier.",
        "operationId": "Member_UpdateGoal",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "goalId",
            "in": "path",
            "required": true,
            "description": "The goal identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "name": "request",
            "in": "body",
            "description": "The request",
            "schema": {
              "$ref": "#/definitions/HttpRequestMessage"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false | MessageType: InvalidMemberId",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfDBNull"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              },
              {
                "description": "success = false | MessageType: InvalidMemberId",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfDBNull"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/pets": {
      "get": {
        "tags": [
          "Member"
        ],
        "summary": "Get the member pet's info that satisfies the given ClientName, MemberId and PetId passed as identifer parameters.",
        "operationId": "Member_GetPetInfo",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "petId",
            "in": "query",
            "description": "The pet Identifier",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "status",
            "in": "query",
            "x-schema": {
              "$ref": "#/definitions/Status"
            },
            "default": 0,
            "x-nullable": false,
            "enum": [
              0,
              1,
              2
            ]
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false | MessageType: InvalidMemberId\nor\nsuccess = false | MessageType: InvalidPetId",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "success = false | MessageType: InvalidMemberId",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "success = false | MessageType: InvalidPetId",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Member"
        ],
        "summary": "Update multiple pet information for the member given by member identifier.",
        "operationId": "Member_UpdatePetInfo",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "name": "pets",
            "in": "body",
            "description": "The list of UserPetModel, look at the example model given below",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/UserPetModel"
              }
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false | MessageType: InvalidMemberId\nor\nsuccess = false | MessageType: InvalidPetId",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "success = false | MessageType: InvalidMemberId",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "success = false | MessageType: InvalidPetId",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/tier": {
      "get": {
        "tags": [
          "Member"
        ],
        "summary": "Get a list of member tier information given by member identifier.",
        "operationId": "Member_GetTierInfo",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier",
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfListOfMemberTierModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfMemberTierModel"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfMemberTierModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/kpi": {
      "get": {
        "tags": [
          "Member"
        ],
        "summary": "Get tier KPI information filter by member identifier with optional parameters.",
        "description": "Expected property name:\n\nCurrentPointsBalance\nCurrentTierDescription\nCurrentTierThreshold\nNextTierDescription\nPointsNeedForNextTier\nTierDefinition\nTierImageUrl\nTierPoints\nTrxCountActivation\nTrxCountActivity\nTrxCountAdjustment\nTrxCountCancelReserve\nTrxCountCancelReservePoints\nTrxCountCommitReserve\nTrxCountCommitReservePoints\nTrxCountCompetitionEntry\nTrxCountDelivery\nTrxCountFee\nTrxCountInValidReceipt\nTrxCountInitialCashBalanceSet\nTrxCountInitialPointsBalanceSet\nTrxCountManualClaim\nTrxCountMergeInitialPointsBalanceSet\nTrxCountMktFundsClaim\nTrxCountMoneyExpiry\nTrxCountMoneyExpiry\nTrxCountMoneyTransferFrom\nTrxCountMoneyTransferTo\nTrxCountPartnerTrx\nTrxCountPointsAdjustment\nTrxCountPointsConversionToVoucher\nTrxCountPointsTransfer\nTrxCountPosTransaction\nTrxCountPurchase\nTrxCountQualification\nTrxCountRebate\nTrxCountReceipt\nTrxCountRedeemPoints\nTrxCountRedemption\nTrxCountRefund\nTrxCountReload\nTrxCountReservation\nTrxCountReserveAmount\nTrxCountReservePoints\nTrxCountReturn\nTrxCountReward\nTrxCountShadowPurchase\nTrxCountShadowVoid\nTrxCountTaskPoints\nTrxCountTransaction\nTrxCountVoid\nTrxPointsActivation\nTrxPointsActivity\nTrxPointsAdjustment\nTrxPointsCancelReserve\nTrxPointsCancelReservePoints\nTrxPointsCommitReserve\nTrxPointsCommitReservePoints\nTrxPointsCompetitionEntry\nTrxPointsDelivery\nTrxPointsFee\nTrxPointsInValidReceipt\nTrxPointsInitialCashBalanceSet\nTrxPointsInitialPointsBalanceSet\nTrxPointsManualClaim\nTrxPointsMergeInitialPointsBalanceSet\nTrxPointsMktFundsClaim\nTrxPointsMoneyExpiry\nTrxPointsMoneyExpiry\nTrxPointsMoneyTransferFrom\nTrxPointsMoneyTransferTo\nTrxPointsPartnerTrx\nTrxPointsPointsAdjustment\nTrxPointsPointsConversionToVoucher\nTrxPointsPointsTransfer\nTrxPointsPosTransaction\nTrxPointsPurchase\nTrxPointsQualification\nTrxPointsRebate\nTrxPointsReceipt\nTrxPointsRedeemPoints\nTrxPointsRedemption\nTrxPointsRefund\nTrxPointsReload\nTrxPointsReservation\nTrxPointsReserveAmount\nTrxPointsReservePoints\nTrxPointsReturn\nTrxPointsReward\nTrxPointsShadowPurchase\nTrxPointsShadowVoid\nTrxPointsTaskPoints\nTrxPointsTransaction\nTrxPointsVoid\nTrxValueActivation\nTrxValueActivity\nTrxValueAdjustment\nTrxValueCancelReserve\nTrxValueCancelReservePoints\nTrxValueCommitReserve\nTrxValueCommitReservePoints\nTrxValueCompetitionEntry\nTrxValueDelivery\nTrxValueFee\nTrxValueInValidReceipt\nTrxValueInitialCashBalanceSet\nTrxValueInitialPointsBalanceSet\nTrxValueManualClaim\nTrxValueMergeInitialPointsBalanceSet\nTrxValueMktFundsClaim\nTrxValueMoneyExpiry\nTrxValueMoneyExpiry\nTrxValueMoneyTransferFrom\nTrxValueMoneyTransferTo\nTrxValuePartnerTrx\nTrxValuePointsAdjustment\nTrxValuePointsConversionToVoucher\nTrxValuePointsTransfer\nTrxValuePosTransaction\nTrxValuePurchase\nTrxValueQualification\nTrxValueRebate\nTrxValueReceipt\nTrxValueRedeemPoints\nTrxValueRedemption\nTrxValueRefund\nTrxValueReload\nTrxValueReservation\nTrxValueReserveAmount\nTrxValueReservePoints\nTrxValueReturn\nTrxValueReward\nTrxValueShadowPurchase\nTrxValueShadowVoid\nTrxValueTaskPoints\nTrxValueTransaction\nTrxValueVoid\nJsonParams",
        "operationId": "Member_GetMemberKPI",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "includeTierInfo",
            "in": "query",
            "description": "Tier info",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "includeTrxValue",
            "in": "query",
            "description": "Trx Value",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "includeTrxCount",
            "in": "query",
            "description": "Trx Count",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "JsonParams",
            "in": "query",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfListOfMemberTierKPI"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfMemberTierKPI"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfMemberTierKPI"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/kpi/search": {
      "get": {
        "tags": [
          "Member"
        ],
        "summary": "Search tier KPI information filter by member identifier with optional parameters.",
        "description": "Expected property name:\n\nCurrentPointsBalance\nCurrentTierDescription\nCurrentTierThreshold\nNextTierDescription\nPointsNeedForNextTier\nTierDefinition\nTierImageUrl\nTierPoints\nTrxCountActivation\nTrxCountActivity\nTrxCountAdjustment\nTrxCountCancelReserve\nTrxCountCancelReservePoints\nTrxCountCommitReserve\nTrxCountCommitReservePoints\nTrxCountCompetitionEntry\nTrxCountDelivery\nTrxCountFee\nTrxCountInValidReceipt\nTrxCountInitialCashBalanceSet\nTrxCountInitialPointsBalanceSet\nTrxCountManualClaim\nTrxCountMergeInitialPointsBalanceSet\nTrxCountMktFundsClaim\nTrxCountMoneyExpiry\nTrxCountMoneyExpiry\nTrxCountMoneyTransferFrom\nTrxCountMoneyTransferTo\nTrxCountPartnerTrx\nTrxCountPointsAdjustment\nTrxCountPointsConversionToVoucher\nTrxCountPointsTransfer\nTrxCountPosTransaction\nTrxCountPurchase\nTrxCountQualification\nTrxCountRebate\nTrxCountReceipt\nTrxCountRedeemPoints\nTrxCountRedemption\nTrxCountRefund\nTrxCountReload\nTrxCountReservation\nTrxCountReserveAmount\nTrxCountReservePoints\nTrxCountReturn\nTrxCountReward\nTrxCountShadowPurchase\nTrxCountShadowVoid\nTrxCountTaskPoints\nTrxCountTransaction\nTrxCountVoid\nTrxPointsActivation\nTrxPointsActivity\nTrxPointsAdjustment\nTrxPointsCancelReserve\nTrxPointsCancelReservePoints\nTrxPointsCommitReserve\nTrxPointsCommitReservePoints\nTrxPointsCompetitionEntry\nTrxPointsDelivery\nTrxPointsFee\nTrxPointsInValidReceipt\nTrxPointsInitialCashBalanceSet\nTrxPointsInitialPointsBalanceSet\nTrxPointsManualClaim\nTrxPointsMergeInitialPointsBalanceSet\nTrxPointsMktFundsClaim\nTrxPointsMoneyExpiry\nTrxPointsMoneyExpiry\nTrxPointsMoneyTransferFrom\nTrxPointsMoneyTransferTo\nTrxPointsPartnerTrx\nTrxPointsPointsAdjustment\nTrxPointsPointsConversionToVoucher\nTrxPointsPointsTransfer\nTrxPointsPosTransaction\nTrxPointsPurchase\nTrxPointsQualification\nTrxPointsRebate\nTrxPointsReceipt\nTrxPointsRedeemPoints\nTrxPointsRedemption\nTrxPointsRefund\nTrxPointsReload\nTrxPointsReservation\nTrxPointsReserveAmount\nTrxPointsReservePoints\nTrxPointsReturn\nTrxPointsReward\nTrxPointsShadowPurchase\nTrxPointsShadowVoid\nTrxPointsTaskPoints\nTrxPointsTransaction\nTrxPointsVoid\nTrxValueActivation\nTrxValueActivity\nTrxValueAdjustment\nTrxValueCancelReserve\nTrxValueCancelReservePoints\nTrxValueCommitReserve\nTrxValueCommitReservePoints\nTrxValueCompetitionEntry\nTrxValueDelivery\nTrxValueFee\nTrxValueInValidReceipt\nTrxValueInitialCashBalanceSet\nTrxValueInitialPointsBalanceSet\nTrxValueManualClaim\nTrxValueMergeInitialPointsBalanceSet\nTrxValueMktFundsClaim\nTrxValueMoneyExpiry\nTrxValueMoneyExpiry\nTrxValueMoneyTransferFrom\nTrxValueMoneyTransferTo\nTrxValuePartnerTrx\nTrxValuePointsAdjustment\nTrxValuePointsConversionToVoucher\nTrxValuePointsTransfer\nTrxValuePosTransaction\nTrxValuePurchase\nTrxValueQualification\nTrxValueRebate\nTrxValueReceipt\nTrxValueRedeemPoints\nTrxValueRedemption\nTrxValueRefund\nTrxValueReload\nTrxValueReservation\nTrxValueReserveAmount\nTrxValueReservePoints\nTrxValueReturn\nTrxValueReward\nTrxValueShadowPurchase\nTrxValueShadowVoid\nTrxValueTaskPoints\nTrxValueTransaction\nTrxValueVoid",
        "operationId": "Member_SearchMemberKPI",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "keys",
            "in": "query",
            "required": true,
            "description": "Keys to filter the records",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfListOfMemberTierKPI"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfMemberTierKPI"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfMemberTierKPI"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/Anonymize": {
      "post": {
        "tags": [
          "Member"
        ],
        "summary": "Delete user profile completely",
        "operationId": "Member_Anonymize",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "name": "request",
            "in": "body",
            "description": "The request model",
            "schema": {
              "$ref": "#/definitions/MemberDataAnonymizeModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/communication/preferences": {
      "patch": {
        "tags": [
          "Member"
        ],
        "summary": "Changes member's communication preference",
        "operationId": "Member_Patch",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The client.",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member identifier.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "name": "dto",
            "in": "body",
            "description": "The dto.",
            "schema": {
              "$ref": "#/definitions/UpdateCommunicationPreferenceDto"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Base DTO\n            ",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            }
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/promotion": {
      "post": {
        "tags": [
          "Promotion"
        ],
        "summary": "Creates a new promotion (POST)",
        "operationId": "Promotion_Post",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The client.",
            "x-nullable": false
          },
          {
            "name": "model",
            "in": "body",
            "description": "The request.",
            "schema": {
              "$ref": "#/definitions/PromotionPostModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfInteger"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfInteger"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfInteger"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/promotion/all": {
      "get": {
        "tags": [
          "Promotion"
        ],
        "summary": "Get a list of all active promotions available to an individual member that satisfies the criteria passed to the endpoint.",
        "operationId": "Promotion_Get",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "promotionType",
            "in": "query",
            "description": "The promotion type",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "promotionOfferType",
            "in": "query",
            "description": "The promotion offer type",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "siteRef",
            "in": "query",
            "description": "The site the member is registered with",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "startDate",
            "in": "query",
            "description": "from",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "endDate",
            "in": "query",
            "description": "to",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "isLoyaLtyPromotion",
            "in": "query",
            "description": "if true it's loyalty promotion",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "userId",
            "in": "query",
            "description": "The member's user id",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "segmentFilter",
            "in": "query",
            "description": "The segment filter",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "activityCategoryName",
            "in": "query",
            "description": "The activity category name",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "activityCategoryTypeName",
            "in": "query",
            "description": "The activity category type name",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "productFamilyType",
            "in": "query",
            "description": "The product family type",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "productFamilySubType",
            "in": "query",
            "description": "The product family subtype type",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "description": "The results page will have a default size of 10 promotions",
            "format": "int32",
            "default": 20,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "page",
            "in": "query",
            "description": "The results will open on the first page by default",
            "format": "int32",
            "default": 1,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "isFeatured",
            "in": "query",
            "description": "The results will open on the first page by default",
            "default": false,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfListOfPromotionModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfPromotionModel"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfPromotionModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/promotion/{promotionId}": {
      "get": {
        "tags": [
          "Promotion"
        ],
        "summary": "Gets a single promotion information that satisfies the given promotion identifier parameter.",
        "operationId": "Promotion_Get2",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "promotionId",
            "in": "path",
            "required": true,
            "description": "The promotion identifier.",
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfPromotionModel"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfPromotionModel"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfPromotionModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "put": {
        "tags": [
          "Promotion"
        ],
        "summary": "Updates existing promotion with new promotion information, promotionId is passed as promotion Identifier Parameter.",
        "operationId": "Promotion_Put",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "promotionId",
            "in": "path",
            "required": true,
            "description": "The promotion identifier.",
            "format": "int32",
            "x-nullable": false
          },
          {
            "name": "promotion",
            "in": "body",
            "description": "The PromotionModel JSON data, look at the example model given below",
            "schema": {
              "$ref": "#/definitions/PromotionPostModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfBoolean"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfBoolean"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfBoolean"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/receipts": {
      "get": {
        "tags": [
          "Receipts"
        ],
        "summary": "Gets list of Receipt information that satisfies the given ClientName, Username/Email , Seid and Status parameters passed to the endpoint.",
        "description": "Status:\nProcessing;\nAvailable;\nDuplicate,\nFailed;\nHold;\nNoCredit;",
        "operationId": "Receipt_Get",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "user",
            "in": "query",
            "required": true,
            "description": "Username/Email Required*",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "seid",
            "in": "query",
            "description": "refrence value",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "status",
            "in": "query",
            "default": "Processing",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "pageIndex",
            "in": "query",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "format": "int32",
            "default": 20,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}\nor\nThis endpoint only returns 'Processing' status receipts.\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfZiploopReceiptResponseViewModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfZiploopReceiptResponseViewModelV1"
                }
              },
              {
                "description": "This endpoint only returns 'Processing' status receipts.",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfZiploopReceiptResponseViewModelV1"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfZiploopReceiptResponseViewModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      },
      "post": {
        "tags": [
          "Receipts"
        ],
        "summary": "Upload the receipt to image processing engine.",
        "operationId": "Receipt_Post",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "receipt",
            "in": "body",
            "description": "The upload receipt model. Supported formats [\"png\",\"jpg\",\"jpeg\",\"gif\",\"tif\",\"tiff\",\"pdf\",\"bmp\",\"html\",\"pam\",\"webp\",\"heif\",\"heic\"]",
            "schema": {
              "$ref": "#/definitions/ReceiptUploadWidgetModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false | MessageType examples: InvalidUser, InvalidImage, InvalidMimeType, DailyReceiptUploadLimitExceeded, WeeklyReceiptUploadLimitExceeded",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfZiploopReceiptResponseViewModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfZiploopReceiptResponseViewModelV1"
                }
              },
              {
                "description": "Success = false | MessageType examples: InvalidUser, InvalidImage, InvalidMimeType, DailyReceiptUploadLimitExceeded, WeeklyReceiptUploadLimitExceeded",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfZiploopReceiptResponseViewModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/receipts/info": {
      "get": {
        "tags": [
          "Receipts"
        ],
        "summary": "Gets the receipt info from Catalyst DB (if exist) based on event Id passed as Parameter.",
        "operationId": "Receipt_GetReceiptInfo",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "seid",
            "in": "query",
            "description": "eventId",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ceid",
            "in": "query",
            "description": "clientEventId",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfReceiptModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfReceiptModelV1"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfReceiptModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/receipts/list": {
      "get": {
        "tags": [
          "Receipts"
        ],
        "operationId": "Receipt_GetReceiptInfoList",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "format": "int32",
            "default": 10,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "extraCondition",
            "in": "query",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "condition",
            "in": "query",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfReceiptModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfReceiptModelV1"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfReceiptModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/receipts/reprocess": {
      "post": {
        "tags": [
          "Receipts"
        ],
        "summary": "This is to re process the receipt. Note, this will only work if receipt is stored in catalyst, and the reprocessing is happening in the background.",
        "operationId": "Receipt_ReProcess",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "seid",
            "in": "query",
            "required": true,
            "description": "eventId",
            "x-nullable": true
          },
          {
            "name": "extraInfo",
            "in": "body",
            "description": "The ReciptExtraInfoModelV1 JSON data, look at the example model given below.",
            "schema": {
              "$ref": "#/definitions/ReceiptExtraInfoModelV1"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/receipts/requeue": {
      "post": {
        "tags": [
          "Receipts"
        ],
        "summary": "Requeue the receipt for processing.",
        "operationId": "Receipt_RecieptRequeueUpload",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "receipt",
            "in": "body",
            "description": "The requeue receipt model",
            "schema": {
              "$ref": "#/definitions/ReceiptRequeueUploadModelV1"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false | MessageType examples: ValidationError,InvalidIPEReceiptId, ConfigurationError, InternalServerError",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfObject"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfObject"
                }
              },
              {
                "description": "Success = false | MessageType examples: ValidationError,InvalidIPEReceiptId, ConfigurationError, InternalServerError",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfObject"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/rewards": {
      "get": {
        "tags": [
          "Rewards"
        ],
        "summary": "Get a list of all reward items.",
        "operationId": "Rewards_GetAll",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfListOfRewardItemModel"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfRewardItemModel"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfRewardItemModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/rewards/all/{userId}": {
      "get": {
        "tags": [
          "Rewards"
        ],
        "summary": "Get a list of all reward items.",
        "operationId": "Rewards_GetAllRewards",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "The user identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "rewardType",
            "in": "query",
            "description": "search by reward type i.e physical or digital",
            "default": "",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "showOnlyNonRewardItems",
            "in": "query",
            "description": "if the list needs to be shown only for items are not reward, such as: Qualifying products",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "siteRef",
            "in": "query",
            "description": "pass the site to get the list of rewards for a specific site",
            "default": "",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "showMemberDetails",
            "in": "query",
            "description": "Default value=true | if userid is being passed and this filter is true, it will fetch member address and balance - Make it false if it is not required for a quick response time",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "segmentFilter",
            "in": "query",
            "default": false,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardsModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardsModel"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardsModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/rewards/search": {
      "post": {
        "tags": [
          "Rewards"
        ],
        "summary": "Search reward items based on the parameters.",
        "operationId": "Rewards_SearchRewards",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "model",
            "in": "body",
            "description": "The request payload\n            ********************************\n            **UserId:** The user identifier\n            **RewardType:** Search by reward type i.e physical or digital\n            **ShowOnlyNonRewardItems:** if the list needs to be shown only for items are not reward, such as: Qualifying products\n            **SiteRef:** Pass the site to get the list of rewards for a specific site\n            **ShowMemberDetails:** Default value=true | if userid is being passed and this filter is true, it will fetch member address and balance - Make it false if it is not required for a quick response time\n            **Categories:** Comma separated category names To filter the rewards based on rewards category\n            **Attributes:** Key value pairs to filter the rewards based on attributes.\n            **SegmentFilter** Default value=false | if userid is being passed and this filter is true, it will fetch rewards based on that user segment - if passed false it will fetch all irrespective of segment\n            ",
            "schema": {
              "$ref": "#/definitions/GetAllRewardsRequestModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardsModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardsModel"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardsModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/rewards/redeem": {
      "post": {
        "tags": [
          "Rewards"
        ],
        "summary": "Redeem a single reward.",
        "operationId": "Rewards_Redeem",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "requestModel",
            "in": "body",
            "description": "The RedeemRequestModel JSON data, look at the example model given below",
            "schema": {
              "$ref": "#/definitions/RedeemRequestModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false | MessageType examples: InvalidUser, InsufficientPointsBalance, DuplicateTransaction, TooManyRequests",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
                }
              },
              {
                "description": "Success = false | MessageType examples: InvalidUser, InsufficientPointsBalance, DuplicateTransaction, TooManyRequests",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/rewards/batch/redeem": {
      "post": {
        "tags": [
          "Rewards"
        ],
        "summary": "Multiple rewards redemption.",
        "operationId": "Rewards_BatchRedeem",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "requestModel",
            "in": "body",
            "description": "The RedeemRequestModel JSON data, look at the example model given below",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/RedeemRequestModel"
              }
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false | MessageType examples: InvalidUser, InsufficientPointsBalance",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
                }
              },
              {
                "description": "Success = false | MessageType examples: InvalidUser, InsufficientPointsBalance",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/rewards/applypoints/{userid}/{promotionType}": {
      "post": {
        "tags": [
          "Rewards"
        ],
        "summary": "Apply points on the user account based on the promotion type.",
        "operationId": "Rewards_Applypoints",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "The user identifier",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "promotionType",
            "in": "path",
            "required": true,
            "description": "The promotion type i.e. Registration = 0, MemberProfileData = 1,NewDevice = 2 , Login = 3",
            "x-schema": {
              "$ref": "#/definitions/PromotionType"
            },
            "x-nullable": false,
            "enum": [
              0,
              1,
              2,
              3
            ]
          },
          {
            "type": "string",
            "name": "promoProfileItem",
            "in": "query",
            "description": "The promotion type item, for instance if MemberProfileData then Email,Mobile,etc.",
            "default": "",
            "x-nullable": true
          }
        ],
        "responses": {
          "201": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/rewards/{type}/redeem": {
      "post": {
        "tags": [
          "Rewards"
        ],
        "summary": "Redeem points based on type.",
        "operationId": "Rewards_TypeRedeem",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "type",
            "in": "path",
            "required": true,
            "description": "The account type",
            "x-nullable": false
          },
          {
            "name": "requestModel",
            "in": "body",
            "description": "The redeem request model, look at the example model given below",
            "schema": {
              "$ref": "#/definitions/RedeemRequestByTypeModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false | MessageType examples:  InvalidRequest, InsufficientPointBalance, InvalidUser",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
                }
              },
              {
                "description": "Success = false | MessageType examples:  InvalidRequest, InsufficientPointBalance, InvalidUser",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardRedeemModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/rewards/{rewardId}": {
      "get": {
        "tags": [
          "Rewards"
        ],
        "summary": "Get a reward based on Id.",
        "operationId": "Rewards_Get",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "rewardId",
            "in": "path",
            "required": true,
            "description": "The reward identifier",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardItemModel"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "success = false | MessageType examples: DoesNotExist\nor\nError: Not Found | No Client Response",
            "schema": {},
            "x-expectedSchemas": [
              {
                "description": "success = false | MessageType examples: DoesNotExist",
                "schema": {
                  "$ref": "#/definitions/Void"
                }
              },
              {
                "description": "Error: Not Found | No Client Response",
                "schema": {
                  "$ref": "#/definitions/ErrorResponse"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/rewards/orders/{userId}": {
      "get": {
        "tags": [
          "Rewards"
        ],
        "summary": "Gets all reward order information of an user by user identifier.",
        "operationId": "Rewards_Get2",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "The user identifier",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "page",
            "in": "query",
            "description": "The page number of pagination",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "description": "The total page size return",
            "format": "int32",
            "default": 10,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}\nor\nsuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRewardOrdersModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardOrdersModel"
                }
              },
              {
                "description": "success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRewardOrdersModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/rewards/processOrder": {
      "post": {
        "tags": [
          "Rewards"
        ],
        "operationId": "Rewards_ProcessRedemptionOrder",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "name": "model",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/RedemptionOrderModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/rewards/member/{userId}/limit": {
      "get": {
        "tags": [
          "Rewards"
        ],
        "summary": "Get user reward limits and status",
        "operationId": "Rewards_GetMemberRewardLimits",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "userId",
            "in": "path",
            "required": true,
            "description": "The user identifier",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfListOfUserRewardStatusModel"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfUserRewardStatusModel"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfUserRewardStatusModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/rewards/member/limit": {
      "post": {
        "tags": [
          "Rewards"
        ],
        "summary": "Set user reward limits",
        "operationId": "Rewards_SetMemberRewardLimits",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "requestModel",
            "in": "body",
            "description": "The reward limits request model",
            "schema": {
              "$ref": "#/definitions/SetRewardLimitsRequestModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/rewards/external/inventory/validate/{externalRewardRef}": {
      "get": {
        "tags": [
          "Rewards"
        ],
        "operationId": "Rewards_ValidateInventory",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "externalRewardRef",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "shouldDisableReward",
            "in": "query",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "shouldSendEmail",
            "in": "query",
            "required": true,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfBoolean"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfBoolean"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfBoolean"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/transaction/{nameidentifier}": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Gets a list of transaction information that satisfies the given ClientName, MemberId, NameIdentifier and Date Range parameters.",
        "operationId": "Transaction_Get",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member id",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "nameidentifier",
            "in": "path",
            "required": true,
            "description": "The member's name identifier (set as GUID in Auth server)",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "startDate",
            "in": "query",
            "required": true,
            "description": "Search for transactions on or after the start date (by default, the search returns all transactions in the past thirty days). ",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "enddate",
            "in": "query",
            "required": true,
            "description": "Search for transactions on or before the start date (by default, the search returns all transactions in the past thirty days).",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "page",
            "in": "query",
            "description": "The page number to return (by default, Page 0 is returned)",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "description": "The page size to return (by default, 10 results are returned per page)",
            "format": "int32",
            "default": 10,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfIEnumerableOfTransactionModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfTransactionModelV1"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfTransactionModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/transaction/member/{memberId}": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Gets a list of transaction information that satisfies the Criteria Passed to the Endpoint.",
        "operationId": "Transaction_Get2",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member id",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "activityCategoryName",
            "in": "query",
            "description": "activity category name",
            "default": "",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "activityCategoryTypeName",
            "in": "query",
            "description": "activity category type name",
            "default": "",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "promotionCategoryName",
            "in": "query",
            "description": "promotion category name",
            "default": "",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "promotionCategoryTypeName",
            "in": "query",
            "description": "promotion category name",
            "default": "",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "transactionType",
            "in": "query",
            "default": "",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "deviceId",
            "in": "query",
            "description": "device identifier",
            "default": "",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "fromDate",
            "in": "query",
            "default": "",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "toDate",
            "in": "query",
            "default": "",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "selectPromotion",
            "in": "query",
            "default": true,
            "x-nullable": false
          },
          {
            "type": "boolean",
            "name": "negate",
            "in": "query",
            "default": false,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageStart",
            "in": "query",
            "format": "int32",
            "default": 1,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "description": "The page size to return (by default, 10 results are returned per page)",
            "format": "int32",
            "default": 10,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfListOfTransactionModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfTransactionModelV1"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfTransactionModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/transaction/{id}": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Gets the transaction information that satisfies the given ClientName and TransactionId parameters.",
        "operationId": "Transaction_Get3",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "id",
            "in": "path",
            "required": true,
            "description": "The transaction identifier.",
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfTransactionModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfTransactionModelV1"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfTransactionModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/transaction": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Gets the list of all completed transactions that satisfies the given ClientName, MemberId, Date Range and trxType parameters.",
        "operationId": "Transaction_Get4",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "MemberId",
            "in": "path",
            "required": true,
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Username",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "Page",
            "in": "query",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "PageSize",
            "in": "query",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "FromDate",
            "in": "query",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ToDate",
            "in": "query",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "IncludeTrxTypes",
            "in": "query",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "ExcludeTrxTypes",
            "in": "query",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "IncludeTrxStatus",
            "in": "query",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "TrxStatus",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "TrxType",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "SortColumn",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "SortDirection",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ExcludeDeviceProfileTemplateCodes",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "MemberIds",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "OpId",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Reference",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "FilterReceiptByMemberId",
            "in": "query",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfIEnumerableOfTransactionModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfTransactionModelV1"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfTransactionModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/v2/transaction": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "operationId": "Transaction_GetTransactions",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "MemberId",
            "in": "path",
            "required": true,
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "Username",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "Page",
            "in": "query",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "PageSize",
            "in": "query",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "FromDate",
            "in": "query",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ToDate",
            "in": "query",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "array",
            "name": "IncludeTrxTypes",
            "in": "query",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "ExcludeTrxTypes",
            "in": "query",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "array",
            "name": "IncludeTrxStatus",
            "in": "query",
            "collectionFormat": "multi",
            "x-nullable": true,
            "items": {
              "type": "string"
            }
          },
          {
            "type": "string",
            "name": "TrxStatus",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "TrxType",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "SortColumn",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "SortDirection",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "ExcludeDeviceProfileTemplateCodes",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "MemberIds",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "OpId",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "Reference",
            "in": "query",
            "x-nullable": true
          },
          {
            "type": "boolean",
            "name": "FilterReceiptByMemberId",
            "in": "query",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}\nor\nSuccess = false",
            "schema": {},
            "x-expectedSchemas": [
              {
                "description": "Success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfTransactionModelV1"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfTransactionResponseModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/member/{memberId}/transaction/{type}/count": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Gets a count of all receipts (includes incomplete transactions in the count) that satisfies the given CientName, MemberId and TransactionType parameters.",
        "operationId": "Transaction_Get5",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member id",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "type",
            "in": "path",
            "required": true,
            "description": "Not currently in use: the transaction type to count",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfInteger"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfInteger"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfInteger"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/transaction": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Gets all of the transactions for all the devices held by a group of linked members.",
        "operationId": "Transaction_Get6",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "deviceId",
            "in": "query",
            "description": "device identifier",
            "default": "",
            "x-nullable": true
          },
          {
            "type": "integer",
            "name": "page",
            "in": "query",
            "description": "The page number to return (by default, Page 0 is returned)",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "description": "The page size to return (by default, 10 results are returned per page)",
            "format": "int32",
            "default": 10,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfIEnumerableOfTransactionModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfTransactionModelV1"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfTransactionModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/transaction/payment": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Creates payment transaction based on the TransactionPayment information passed to the endpoint.",
        "operationId": "Transaction_Post",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "model",
            "in": "body",
            "description": "The TransactionPaymentModelV1, look at the example model given below",
            "schema": {
              "$ref": "#/definitions/TransactionPaymentModelV1"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false | MessageType examples: InvalidRequest, InvalidMemberId, InvalidPaymentType, InvalidAmount",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfString"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              },
              {
                "description": "Success = false | MessageType examples: InvalidRequest, InvalidMemberId, InvalidPaymentType, InvalidAmount",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/transaction/{trxId}/promotion": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Gets the list of transaction promotion information that satisfies the given ClientName and TrxId parameters.",
        "operationId": "Transaction_GetTransactionVoucherAndPromotionDetails",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "trxId",
            "in": "path",
            "required": true,
            "description": "transaction identifier",
            "format": "int32",
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfListOfTransactionPromotionDetailModel"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfTransactionPromotionDetailModel"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfTransactionPromotionDetailModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/transaction/member/{memberId}/{type}": {
      "get": {
        "tags": [
          "Transactions"
        ],
        "summary": "Gets the list of all transaction information that satisfies the given ClientName, MemberId and AccountType parameters.",
        "operationId": "Transaction_GetTransactionByType",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "memberId",
            "in": "path",
            "required": true,
            "description": "The member Id",
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "type",
            "in": "path",
            "required": true,
            "description": "The account type",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "page",
            "in": "query",
            "description": "The results will open on the first page by default",
            "format": "int32",
            "default": 1,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "description": "The results page will have a default size of 10 promotions",
            "format": "int32",
            "default": 10,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "fromDate",
            "in": "query",
            "description": "The result will be filter by given s",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "toDate",
            "in": "query",
            "description": "The result will be filter by given reference",
            "format": "date-time",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "reference",
            "in": "query",
            "description": "The result will be filter by given reference",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "analysisCode1",
            "in": "query",
            "description": "The result will be filter by given analysisCode1",
            "x-nullable": true
          },
          {
            "type": "string",
            "name": "operator",
            "in": "query",
            "description": "The result will be filter based on operator \"and/or\" condition, default value will be “and”",
            "default": "and",
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfListOfTransactionByTypeModel"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfTransactionByTypeModel"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfListOfTransactionByTypeModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/transaction/search": {
      "post": {
        "tags": [
          "Transactions"
        ],
        "summary": "Gets the list of all completed transactions that satisfies the given ClientName, MemberId, Date Range and trxType parameters.",
        "operationId": "Transaction_SearchTransaction",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "searchCriteria",
            "in": "body",
            "description": "A set of search criteria to filter the transactions:\n\n- MemberId: The ID of the member (integer).\n- Username: The username of the member (string).\n- Page: The page number for pagination (integer).\n- PageSize: The number of records per page (integer).\n- FromDate: The start date of the transaction search range (DateTime).\n- ToDate: The end date of the transaction search range (DateTime).\n- IncludeTrxTypes: A list of transaction types to include in the search. \n- ExcludeTrxTypes: A list of transaction types to exclude from the search.\n- TrxStatus: The status of the transaction (string).\n- TrxType: The type of the transaction (string).\n- SortColumn: The column to sort the results by. Options: trxdate, createdate, trxcommitdate, transactiontype, date (same as trxdate) (string).\n- SortDirection: The direction of sorting. Options: ASC or DESC (string).\n- ExcludeDeviceProfileTemplateCodes: Codes to exclude device profile templates (string).\n- MemberIds: A comma-separated list of member IDs to filter (string).",
            "schema": {
              "$ref": "#/definitions/TransactionSearchModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfIEnumerableOfTransactionModelV1"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3, PrevPageLink:this will have previous page link (if exists), NextPageLink:this will have next page link (if exists)}",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfTransactionModelV1"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfTransactionModelV1"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/Voucher/redeem": {
      "post": {
        "tags": [
          "Voucher"
        ],
        "summary": "Redeem the voucher and assign the points, Request info Passed to the Endpoint.",
        "operationId": "Voucher_Post",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "description": "The name of the client",
            "x-nullable": false
          },
          {
            "name": "redeemVoucherDto",
            "in": "body",
            "description": "The RedeemVoucherDto, look at the example model given below",
            "schema": {
              "$ref": "#/definitions/RedeemVoucherDto"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfRedeemVoucherResponse"
            },
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRedeemVoucherResponse"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfRedeemVoucherResponse"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/Voucher/{type}/code/{code}": {
      "get": {
        "tags": [
          "Voucher"
        ],
        "operationId": "Voucher_ValidateVoucherCodeByType",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "type",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "code",
            "in": "path",
            "required": true,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {},
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfVoucherCodeByTypeModel"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/Voucher/{type}/code/redeem": {
      "post": {
        "tags": [
          "Voucher"
        ],
        "operationId": "Voucher_RedeemVoucherCodeByType",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "string",
            "name": "type",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "name": "requestModel",
            "in": "body",
            "schema": {
              "$ref": "#/definitions/RedeemVoucherRequestModel"
            },
            "x-nullable": true
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "Success = true\nor\nSuccess = false",
            "schema": {},
            "x-expectedSchemas": [
              {
                "description": "Success = true",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfVoucherCodeByTypeModel"
                }
              },
              {
                "description": "Success = false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfString"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    },
    "/{client}/Voucher/{userId}": {
      "get": {
        "tags": [
          "Voucher"
        ],
        "operationId": "Voucher_GetVoucherList",
        "parameters": [
          {
            "type": "string",
            "name": "client",
            "in": "path",
            "required": true,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "userId",
            "in": "path",
            "required": true,
            "format": "int32",
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "page",
            "in": "query",
            "format": "int32",
            "default": 0,
            "x-nullable": false
          },
          {
            "type": "integer",
            "name": "pageSize",
            "in": "query",
            "format": "int32",
            "default": 50,
            "x-nullable": false
          }
        ],
        "responses": {
          "200": {
            "x-nullable": false,
            "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3}\nor\nsuccess=false",
            "schema": {
              "$ref": "#/definitions/BaseDtoOfIEnumerableOfGetVoucherModel"
            },
            "x-expectedSchemas": [
              {
                "description": "success = true \n \n See Response Header[X - Pagination] to get pagination details \n \n Sample format: {TotalCount:12, TotalPages:3}",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfGetVoucherModel"
                }
              },
              {
                "description": "success=false",
                "schema": {
                  "$ref": "#/definitions/BaseDtoOfIEnumerableOfGetVoucherModel"
                }
              }
            ]
          },
          "400": {
            "x-nullable": false,
            "description": "Error: Bad Request | Data Validation Error | No Data",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "401": {
            "x-nullable": false,
            "description": "Error: Unauthorized",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "403": {
            "x-nullable": false,
            "description": "Error: Forbidden",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "404": {
            "x-nullable": false,
            "description": "Error: Not Found | No Client Response",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          },
          "500": {
            "x-nullable": false,
            "description": "Connection Not Established \n Internal Server Error",
            "schema": {
              "$ref": "#/definitions/ErrorResponse"
            }
          }
        }
      }
    }
  },
  "definitions": {
    "BaseDtoOfExpirePointsRequestModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/ExpirePointsRequestModel"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "ExpirePointsRequestModel": {
      "type": "object",
      "required": [
        "Type"
      ],
      "properties": {
        "Type": {
          "type": "string",
          "minLength": 1
        },
        "AddtionalDetails": {
          "type": "string"
        }
      }
    },
    "ErrorResponse": {
      "type": "object",
      "required": [
        "Success",
        "Data"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "integer",
          "format": "int32"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfMemberModelV1": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/MemberModelV1"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "MemberModelV1": {
      "allOf": [
        {
          "$ref": "#/definitions/MemberModelOfAddressModelAndAccountModelAndContactDetailsModelAndDeviceModelAndPersonalDetailsModel"
        },
        {
          "type": "object",
          "properties": {
            "Document": {
              "$ref": "#/definitions/DocumentDto"
            }
          }
        }
      ]
    },
    "DocumentDto": {
      "type": "object",
      "required": [
        "Data",
        "MimeType",
        "Type",
        "IsExists",
        "IsReUpload"
      ],
      "properties": {
        "Reference": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "MimeType": {
          "type": "string",
          "minLength": 1
        },
        "Type": {
          "type": "string",
          "minLength": 1
        },
        "ExtraInfo": {
          "type": "string"
        },
        "Notes": {
          "type": "string"
        },
        "DocumentData": {
          "type": "string"
        },
        "Status": {
          "type": "string"
        },
        "IsExists": {
          "type": "boolean"
        },
        "IsReUpload": {
          "type": "boolean"
        },
        "SiteId": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "MemberModelOfAddressModelAndAccountModelAndContactDetailsModelAndDeviceModelAndPersonalDetailsModel": {
      "type": "object",
      "required": [
        "MemberId",
        "Username",
        "SiteRef",
        "MemberType",
        "MemberSubType",
        "MemberStatus",
        "UserAddressVerified",
        "SiteId",
        "CreateDate"
      ],
      "properties": {
        "MemberId": {
          "type": "integer",
          "format": "int32"
        },
        "ExtReference": {
          "type": "string"
        },
        "LegacyNumber": {
          "type": "string"
        },
        "Username": {
          "type": "string",
          "minLength": 1
        },
        "SiteRef": {
          "type": "string",
          "minLength": 1
        },
        "MemberRelation": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MemberRelationModel"
          }
        },
        "MemberType": {
          "type": "string",
          "minLength": 1
        },
        "MemberSubType": {
          "type": "string",
          "minLength": 1
        },
        "MemberStatus": {
          "type": "string",
          "minLength": 1
        },
        "ContactByEmail": {
          "type": "integer",
          "format": "int32"
        },
        "ContactByMail": {
          "type": "integer",
          "format": "int32"
        },
        "ContactByPhone": {
          "type": "integer",
          "format": "int32"
        },
        "ContactBySms": {
          "type": "integer",
          "format": "int32"
        },
        "ContactStatus": {
          "type": "integer"
        },
        "Password": {
          "type": "string"
        },
        "Provider": {
          "type": "string"
        },
        "ProviderUserId": {
          "type": "string"
        },
        "Region": {
          "type": "string"
        },
        "Recruiter": {
          "type": "string"
        },
        "Account": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AccountModel"
          }
        },
        "Device": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DeviceModel"
          }
        },
        "PersonalDetails": {
          "$ref": "#/definitions/PersonalDetailsModel"
        },
        "CurrentAddress": {
          "$ref": "#/definitions/AddressModel"
        },
        "Address": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AddressModel"
          }
        },
        "ContactDetails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContactDetailsModel"
          }
        },
        "ExtensionData": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExtensionDataModel"
          }
        },
        "ReferredMembers": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ReferredMemberModel"
          }
        },
        "NameIdentifier": {
          "type": "string"
        },
        "FirstLoginDate": {
          "type": "string",
          "format": "date-time"
        },
        "LastLoginDate": {
          "type": "string",
          "format": "date-time"
        },
        "ExpirationDate": {
          "type": "string",
          "format": "date-time"
        },
        "HasEmailChanged": {
          "type": "boolean"
        },
        "HasMobileNumberChanged": {
          "type": "boolean"
        },
        "UpdatedEmail": {
          "type": "string"
        },
        "IsEmailChangeRequest": {
          "type": "boolean"
        },
        "UserAddressVerified": {
          "type": "boolean"
        },
        "LastUpdatedByUsername": {
          "type": "string"
        },
        "Images": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MemberProfileImageModel"
          }
        },
        "MemberRegisterConfig": {
          "type": "object",
          "additionalProperties": {}
        },
        "UserGoals": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UserGoalModel"
          }
        },
        "UserTier": {
          "$ref": "#/definitions/MemberTierModel"
        },
        "UserPets": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UserPetModel"
          }
        },
        "SiteId": {
          "type": "integer",
          "format": "int32"
        },
        "CreateDate": {
          "type": "string",
          "format": "date-time"
        },
        "LanguageCode": {
          "type": "string"
        },
        "Notes": {
          "type": "string"
        }
      }
    },
    "MemberRelationModel": {
      "type": "object",
      "required": [
        "MemberId"
      ],
      "properties": {
        "MemberRelationType": {
          "type": "string"
        },
        "MemberId": {
          "type": "integer",
          "format": "int32"
        },
        "MemberName": {
          "type": "string"
        }
      }
    },
    "AccountModel": {
      "type": "object",
      "required": [
        "AccountId"
      ],
      "properties": {
        "AccountId": {
          "type": "integer",
          "format": "int32"
        },
        "ExtRef": {
          "type": "string"
        },
        "CreateDate": {
          "type": "string",
          "format": "date-time"
        },
        "PointsPending": {
          "type": "number",
          "format": "decimal"
        },
        "MonetaryBalance": {
          "type": "number",
          "format": "decimal"
        },
        "PointsBalance": {
          "type": "number",
          "format": "decimal"
        },
        "CurrencyId": {
          "type": "string"
        }
      }
    },
    "DeviceModel": {
      "type": "object",
      "required": [
        "HomeSiteId",
        "CreateDate",
        "LinkedSite"
      ],
      "properties": {
        "DeviceId": {
          "type": "string"
        },
        "DeviceStatus": {
          "type": "string"
        },
        "UserId": {
          "type": "integer",
          "format": "int32"
        },
        "HomeSiteId": {
          "type": "integer",
          "format": "int32"
        },
        "CreateDate": {
          "type": "string",
          "format": "date-time"
        },
        "Reference": {
          "type": "string"
        },
        "ExpirationDate": {
          "type": "string",
          "format": "date-time"
        },
        "AccountId": {
          "type": "integer",
          "format": "int32"
        },
        "StartDate": {
          "type": "string",
          "format": "date-time"
        },
        "DeviceType": {
          "type": "string"
        },
        "Code": {
          "type": "string"
        },
        "Virtual": {
          "type": "boolean"
        },
        "AssignedBy": {
          "type": "string"
        },
        "Account": {
          "$ref": "#/definitions/AccountModel"
        },
        "DeviceProfile": {
          "$ref": "#/definitions/DeviceProfileModel"
        },
        "DeviceProfileTemplateType": {
          "type": "string"
        },
        "DeviceNumber": {
          "type": "string"
        },
        "MemberId": {
          "type": "string"
        },
        "LinkedSite": {
          "type": "integer",
          "format": "int32"
        },
        "ImageUrl": {
          "type": "string"
        },
        "Site": {
          "type": "string"
        },
        "Reference2": {
          "type": "string"
        },
        "ExtraInfo": {
          "type": "string"
        }
      }
    },
    "DeviceProfileModel": {
      "type": "object",
      "required": [
        "LotId"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "Type": {
          "type": "string"
        },
        "LotId": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "PersonalDetailsModel": {
      "type": "object",
      "required": [
        "Firstname",
        "Lastname"
      ],
      "properties": {
        "Firstname": {
          "type": "string",
          "minLength": 1
        },
        "Lastname": {
          "type": "string",
          "minLength": 1
        },
        "Middlename": {
          "type": "string"
        },
        "DateOfBirth": {
          "type": "string"
        },
        "GenderType": {
          "type": "string"
        },
        "SalutationType": {
          "type": "string"
        },
        "TitleType": {
          "type": "string"
        },
        "LastUpdated": {
          "type": "string",
          "format": "date-time"
        },
        "ProfileImage": {
          "$ref": "#/definitions/MemberProfileImageModel"
        }
      }
    },
    "MemberProfileImageModel": {
      "type": "object",
      "required": [
        "ImageData",
        "ContentType",
        "GroupId"
      ],
      "properties": {
        "ImageData": {
          "type": "string",
          "minLength": 1
        },
        "ContentType": {
          "type": "string",
          "minLength": 1
        },
        "ImageUrl": {
          "type": "string"
        },
        "Type": {
          "type": "string"
        },
        "GroupId": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "AddressModel": {
      "type": "object",
      "required": [
        "AddressId",
        "AddressLine1",
        "City",
        "CountryCode",
        "Zip",
        "State"
      ],
      "properties": {
        "AddressId": {
          "type": "integer",
          "format": "int32"
        },
        "AddressType": {
          "type": "string"
        },
        "AddressStatus": {
          "type": "string"
        },
        "AddressLine1": {
          "type": "string",
          "minLength": 1
        },
        "AddressLine2": {
          "type": "string"
        },
        "HouseName": {
          "type": "string"
        },
        "HouseNumber": {
          "type": "string"
        },
        "Street": {
          "type": "string"
        },
        "Locality": {
          "type": "string"
        },
        "City": {
          "type": "string",
          "minLength": 1
        },
        "CountryCode": {
          "type": "string",
          "minLength": 1
        },
        "Zip": {
          "type": "string",
          "minLength": 1
        },
        "CountryId": {
          "type": "string"
        },
        "AddressValidStatus": {
          "type": "string"
        },
        "State": {
          "type": "string",
          "minLength": 1
        },
        "StateCode": {
          "type": "string"
        },
        "PostBox": {
          "type": "integer",
          "format": "int32"
        },
        "PostBoxNumber": {
          "type": "string"
        },
        "ContactDetailsId": {
          "type": "integer",
          "format": "int32"
        },
        "LastUpdated": {
          "type": "string",
          "format": "date-time"
        },
        "LastUpdatedBy": {
          "type": "string"
        },
        "Notes": {
          "type": "string"
        },
        "Company": {
          "type": "string"
        },
        "MobilePrefix": {
          "type": "string"
        },
        "Country": {
          "type": "string"
        },
        "FullAddress": {
          "type": "string"
        },
        "ValidFromDate": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "ContactDetailsModel": {
      "type": "object",
      "required": [
        "Email",
        "ContactDetailsType"
      ],
      "properties": {
        "ContactDetailsId": {
          "type": "integer",
          "format": "int32"
        },
        "Email": {
          "type": "string",
          "minLength": 1
        },
        "Phone": {
          "type": "string"
        },
        "MobilePhone": {
          "type": "string"
        },
        "Fax": {
          "type": "string"
        },
        "ContactDetailsType": {
          "type": "string",
          "minLength": 1
        }
      }
    },
    "ExtensionDataModel": {
      "type": "object",
      "required": [
        "PropertyName",
        "PropertyValue",
        "GroupId",
        "DisplayOrder",
        "Deleted"
      ],
      "properties": {
        "PropertyName": {
          "type": "string",
          "minLength": 1
        },
        "PropertyValue": {
          "type": "string",
          "minLength": 1
        },
        "GroupId": {
          "type": "integer",
          "format": "int32"
        },
        "DisplayOrder": {
          "type": "integer",
          "format": "int32"
        },
        "Deleted": {
          "type": "boolean"
        }
      }
    },
    "ReferredMemberModel": {
      "type": "object",
      "required": [
        "MemberId"
      ],
      "properties": {
        "MemberId": {
          "type": "integer",
          "format": "int32"
        },
        "Username": {
          "type": "string"
        },
        "EmailAddress": {
          "type": "string"
        },
        "PointsBalance": {
          "type": "number",
          "format": "decimal"
        }
      }
    },
    "UserGoalModel": {
      "type": "object",
      "required": [
        "GoalId",
        "PointsAchieved",
        "PointsTarget",
        "Active"
      ],
      "properties": {
        "GoalId": {
          "type": "integer",
          "format": "int32"
        },
        "PointsAchieved": {
          "type": "integer",
          "format": "int32"
        },
        "PointsTarget": {
          "type": "integer",
          "format": "int32"
        },
        "Active": {
          "type": "string",
          "minLength": 1,
          "pattern": "[yYnN]"
        },
        "CreatedAt": {
          "type": "string"
        },
        "ModifiedAt": {
          "type": "string"
        }
      }
    },
    "MemberTierModel": {
      "type": "object",
      "required": [
        "UserId",
        "UserTierId",
        "TierDuration",
        "ThresholdFrom",
        "ThresholdTo"
      ],
      "properties": {
        "UserId": {
          "type": "integer",
          "format": "int32"
        },
        "UserTierId": {
          "type": "integer",
          "format": "int32"
        },
        "Enabled": {
          "type": "boolean"
        },
        "TierName": {
          "type": "string"
        },
        "TierDescription": {
          "type": "string"
        },
        "TierDuration": {
          "type": "integer",
          "format": "int32"
        },
        "StartMonth": {
          "type": "string",
          "format": "date-time"
        },
        "ThresholdFrom": {
          "type": "number",
          "format": "decimal"
        },
        "ThresholdTo": {
          "type": "number",
          "format": "decimal"
        },
        "ImageUrl": {
          "type": "string"
        },
        "TierType": {
          "type": "string"
        },
        "TierLinkType": {
          "type": "string"
        }
      }
    },
    "UserPetModel": {
      "type": "object",
      "required": [
        "PetId",
        "Name",
        "DOB",
        "IsPrimary",
        "Type",
        "Status"
      ],
      "properties": {
        "PetId": {
          "type": "integer",
          "format": "int32"
        },
        "Name": {
          "type": "string",
          "minLength": 1
        },
        "DOB": {
          "type": "string",
          "format": "date-time",
          "minLength": 1
        },
        "IsPrimary": {
          "type": "boolean"
        },
        "CreatedAt": {
          "type": "string",
          "format": "date-time"
        },
        "ModifiedAt": {
          "type": "string",
          "format": "date-time"
        },
        "BirthdayAwardedOn": {
          "type": "string",
          "format": "date-time"
        },
        "Type": {
          "type": "string",
          "minLength": 1
        },
        "Status": {
          "type": "string",
          "minLength": 1
        },
        "Reference": {
          "type": "string"
        },
        "PetProfileImage": {
          "$ref": "#/definitions/ProfileImageSet"
        }
      }
    },
    "ProfileImageSet": {
      "type": "object",
      "properties": {
        "ImageData": {
          "type": "string"
        },
        "ContentType": {
          "type": "string"
        },
        "ImageUrl": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfIDictionaryOfStringAndString": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "BulkApplyPointsDto": {
      "allOf": [
        {
          "$ref": "#/definitions/BaseApplyPointsDto"
        },
        {
          "type": "object",
          "properties": {
            "UserIds": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int32"
              }
            }
          }
        }
      ]
    },
    "BaseApplyPointsDto": {
      "type": "object",
      "required": [
        "PromotionId",
        "PointsAwarded",
        "PointsDeducted",
        "TrxDate"
      ],
      "properties": {
        "PromotionId": {
          "type": "integer",
          "format": "int32"
        },
        "PointsAwarded": {
          "type": "number",
          "format": "decimal"
        },
        "PointsDeducted": {
          "type": "number",
          "format": "decimal"
        },
        "Email": {
          "type": "string"
        },
        "ItemCode": {
          "type": "string"
        },
        "TrxDate": {
          "type": "string",
          "format": "date-time",
          "minLength": 1
        },
        "TrxType": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "ClientTransactionId": {
          "type": "string"
        },
        "UniqueIdentifier": {
          "type": "string"
        },
        "ExtReference": {
          "type": "string"
        }
      }
    },
    "ApplyPointsDto": {
      "allOf": [
        {
          "$ref": "#/definitions/BaseApplyPointsDto"
        },
        {
          "type": "object",
          "required": [
            "UserId"
          ],
          "properties": {
            "UserId": {
              "type": "integer",
              "format": "int32"
            },
            "Category": {
              "type": "string"
            },
            "CategoryType": {
              "type": "string"
            },
            "Value": {
              "type": "integer",
              "format": "int32"
            },
            "AnalysisCode1": {
              "type": "string"
            },
            "AnalysisCode2": {
              "type": "string"
            },
            "AnalysisCode3": {
              "type": "string"
            },
            "AnalysisCode4": {
              "type": "string"
            },
            "SiteRef": {
              "type": "string"
            },
            "ExtensionData": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TrxExtensionDataModelV1"
              }
            }
          }
        }
      ]
    },
    "TrxExtensionDataModelV1": {
      "type": "object",
      "required": [
        "PropertyName",
        "PropertyValue",
        "DisplayOrder",
        "Deleted"
      ],
      "properties": {
        "PropertyName": {
          "type": "string",
          "minLength": 1
        },
        "PropertyValue": {
          "type": "string",
          "minLength": 1
        },
        "DisplayOrder": {
          "type": "integer",
          "format": "int32"
        },
        "Deleted": {
          "type": "boolean"
        }
      }
    },
    "BaseDtoOfString": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "string"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "ReferralActivityDto": {
      "type": "object",
      "required": [
        "Name",
        "Email",
        "RegisterUrl",
        "ReferralCode",
        "UserId"
      ],
      "properties": {
        "Name": {
          "type": "string",
          "minLength": 1
        },
        "Email": {
          "type": "string",
          "minLength": 1
        },
        "RegisterUrl": {
          "type": "string",
          "minLength": 1
        },
        "ReferralCode": {
          "type": "string",
          "minLength": 1
        },
        "UserId": {
          "type": "string",
          "minLength": 1
        },
        "ReferralActivityDetail": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ReferralActivityDetailDto"
          }
        }
      }
    },
    "ReferralActivityDetailDto": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "Email": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfDBNull": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/DBNull"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "DBNull": {
      "type": "object"
    },
    "DocumentModel": {
      "type": "object",
      "required": [
        "MemberDocumentId",
        "Version",
        "CreateDate",
        "LastUpdatedById",
        "SiteId"
      ],
      "properties": {
        "MemberDocumentId": {
          "type": "integer",
          "format": "int32"
        },
        "Version": {
          "type": "integer",
          "format": "int32"
        },
        "UserId": {
          "type": "integer",
          "format": "int32"
        },
        "CreateDate": {
          "type": "string",
          "format": "date-time"
        },
        "DocumentTitle": {
          "type": "string"
        },
        "MemberDocumentTypeName": {
          "type": "string"
        },
        "ExtraInfo": {
          "type": "string"
        },
        "Notes": {
          "type": "string"
        },
        "DocumentData": {
          "type": "string"
        },
        "StatusName": {
          "type": "string"
        },
        "LastUpdatedById": {
          "type": "integer",
          "format": "int32"
        },
        "LastUpdatedDate": {
          "type": "string",
          "format": "date-time"
        },
        "Reference": {
          "type": "string"
        },
        "DocumentFailureStatusCode": {
          "type": "string"
        },
        "SiteId": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "BaseDtoOfRewardsModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/RewardsModel"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "RewardsModel": {
      "type": "object",
      "required": [
        "TotalCount",
        "UserAddressValid"
      ],
      "properties": {
        "TotalCount": {
          "type": "integer",
          "format": "int32"
        },
        "Items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RewardItemModel"
          }
        },
        "ItemCategories": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ItemTypes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "UserAddress": {
          "type": "string"
        },
        "UserAddressValid": {
          "type": "boolean"
        },
        "LoginUrlValue": {
          "type": "string"
        },
        "RegisterUrlValue": {
          "type": "string"
        },
        "UserTotalBalance": {
          "type": "string"
        }
      }
    },
    "RewardItemModel": {
      "type": "object",
      "required": [
        "StartDate",
        "EndDate",
        "RewardId",
        "ID",
        "CatalystRewardID",
        "Enabled",
        "ItemLimitQty",
        "RemainingUsageLimit"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "Region": {
          "type": "string"
        },
        "StartDate": {
          "type": "string",
          "format": "date-time"
        },
        "EndDate": {
          "type": "string",
          "format": "date-time"
        },
        "ShortDescription": {
          "type": "string"
        },
        "LongDescription": {
          "type": "string"
        },
        "SupplierName": {
          "type": "string"
        },
        "RewardId": {
          "type": "integer",
          "format": "int32"
        },
        "ID": {
          "type": "integer",
          "format": "int32"
        },
        "CatalystRewardID": {
          "type": "integer",
          "format": "int32"
        },
        "Options": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RewardOptionModel"
          }
        },
        "Categories": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "CatalogConfiguration": {
          "type": "string"
        },
        "ExternalRewardRef": {
          "type": "string"
        },
        "RedemptionDetails": {
          "type": "string"
        },
        "TermsAndConditions": {
          "type": "string"
        },
        "ExternalId": {
          "type": "string"
        },
        "Enabled": {
          "type": "boolean"
        },
        "ItemType": {
          "type": "string"
        },
        "ItemLimitQty": {
          "type": "integer",
          "format": "int32"
        },
        "ItemLimitPeriod": {
          "type": "string"
        },
        "Configuration": {
          "type": "string"
        },
        "Status": {
          "type": "string"
        },
        "RemainingUsageLimit": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "RewardOptionModel": {
      "type": "object",
      "required": [
        "CostPrice",
        "PointsValue",
        "QuantityAvailable",
        "QuantityRedeemed",
        "Enabled"
      ],
      "properties": {
        "OptionId": {
          "type": "string"
        },
        "OptionName": {
          "type": "string"
        },
        "Quantity": {
          "type": "string"
        },
        "SmallImage": {
          "type": "string"
        },
        "MediumImage": {
          "type": "string"
        },
        "LargeImage": {
          "type": "string"
        },
        "ExternalRewardRef": {
          "type": "string"
        },
        "CostPrice": {
          "type": "number",
          "format": "decimal"
        },
        "Attributes": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "Tags": {
          "type": "string"
        },
        "PointsValue": {
          "type": "integer",
          "format": "int32"
        },
        "QuantityAvailable": {
          "type": "integer",
          "format": "int32"
        },
        "QuantityRedeemed": {
          "type": "integer",
          "format": "int32"
        },
        "Availability": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RewardAvailabilityModel"
          }
        },
        "Enabled": {
          "type": "boolean"
        }
      }
    },
    "RewardAvailabilityModel": {
      "type": "object",
      "required": [
        "Quantity",
        "Usage"
      ],
      "properties": {
        "Quantity": {
          "type": "integer",
          "format": "int32"
        },
        "Usage": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "BaseDtoOfRewardOrdersModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/RewardOrdersModel"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "RewardOrdersModel": {
      "type": "object",
      "required": [
        "totalCountOrders",
        "UserAddressValid"
      ],
      "properties": {
        "rewardOrdersDetails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RewardOrdersDetailModel"
          }
        },
        "totalCountOrders": {
          "type": "integer",
          "format": "int32"
        },
        "UserAddress": {
          "type": "string"
        },
        "UserTotalBalance": {
          "type": "string"
        },
        "UserAddressValid": {
          "type": "boolean"
        }
      }
    },
    "RewardOrdersDetailModel": {
      "type": "object",
      "required": [
        "totalCountOrders"
      ],
      "properties": {
        "confirmationId": {
          "type": "string"
        },
        "trxDate": {
          "type": "string"
        },
        "cost": {
          "type": "string"
        },
        "shipmentStatus": {
          "type": "string"
        },
        "shipmentDate": {
          "type": "string"
        },
        "shipAddress": {
          "type": "string"
        },
        "productId": {
          "type": "string"
        },
        "productImage": {
          "type": "string"
        },
        "productName": {
          "type": "string"
        },
        "totalCountOrders": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "BaseDtoOfRewardRedeemModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/RewardRedeemModel"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "RewardRedeemModel": {
      "type": "object",
      "properties": {
        "ConfirmationId": {
          "type": "string"
        },
        "ResponseStatus": {
          "type": "string"
        },
        "CreateDate": {
          "type": "string"
        },
        "ProviderResponse": {
          "type": "string"
        },
        "externalUniqueId": {
          "type": "string"
        },
        "createdOnUtc": {
          "type": "string"
        },
        "promotionIdentifier": {
          "type": "string"
        },
        "Rewards": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RewardRedeemItemModel"
          }
        }
      }
    },
    "RewardRedeemItemModel": {
      "type": "object",
      "required": [
        "Id"
      ],
      "properties": {
        "ProductId": {
          "type": "string"
        },
        "Name": {
          "type": "string"
        },
        "Cost": {
          "type": "string"
        },
        "Status": {
          "type": "string"
        },
        "errorMessage": {
          "type": "string"
        },
        "link": {
          "type": "string"
        },
        "Code": {
          "type": "string"
        },
        "Link": {
          "type": "string"
        },
        "ExternalOrderId": {
          "type": "string"
        },
        "Id": {
          "type": "integer",
          "format": "int32"
        },
        "Type": {
          "type": "string"
        },
        "GiftCardId": {
          "type": "string"
        },
        "ImgUrl": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "DeliveryMethod": {
          "type": "string"
        },
        "Pin": {
          "type": "string"
        },
        "Instruction": {
          "type": "string"
        },
        "Disclaimer": {
          "type": "string"
        },
        "ShortDescription": {
          "type": "string"
        },
        "Currency": {
          "type": "string"
        },
        "Terms": {
          "type": "string"
        },
        "Voucher": {
          "type": "string"
        }
      }
    },
    "RedeemRequestModel": {
      "type": "object",
      "required": [
        "RewardID",
        "UserID",
        "Quantity",
        "Address"
      ],
      "properties": {
        "RewardID": {
          "type": "string",
          "minLength": 1
        },
        "UserID": {
          "type": "integer",
          "format": "int32"
        },
        "Quantity": {
          "type": "integer",
          "format": "int32"
        },
        "Address": {
          "$ref": "#/definitions/AddressModel"
        },
        "ContactDetail": {
          "$ref": "#/definitions/DeliveryContactDetail"
        },
        "AdditionalDetails": {
          "type": "string"
        },
        "ClientTransactionId": {
          "type": "string"
        },
        "OptionId": {
          "type": "string"
        },
        "Value": {
          "type": "string"
        },
        "Retailer": {
          "type": "string"
        }
      }
    },
    "DeliveryContactDetail": {
      "type": "object",
      "properties": {
        "Email": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfRewardResponseOfGiftCardRewards": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/RewardResponseOfGiftCardRewards"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "RewardResponseOfGiftCardRewards": {
      "type": "object",
      "required": [
        "TotalCount"
      ],
      "properties": {
        "Type": {
          "type": "string"
        },
        "TotalCount": {
          "type": "integer",
          "format": "int32"
        },
        "Items": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GiftCardRewards"
          }
        }
      }
    },
    "GiftCardRewards": {
      "allOf": [
        {
          "$ref": "#/definitions/BaseReward"
        },
        {
          "type": "object",
          "required": [
            "VariableAmount"
          ],
          "properties": {
            "SupportEmailAddress": {
              "type": "string"
            },
            "SupportPhoneNumber": {
              "type": "string"
            },
            "FaqUrl": {
              "type": "string"
            },
            "PrivacyPolicyUrl": {
              "type": "string"
            },
            "ShoppingCartUrl": {
              "type": "string"
            },
            "TermsAndConditionsUrl": {
              "type": "string"
            },
            "CustomImageTermsAndConditionsUrl": {
              "type": "string"
            },
            "CustomImageTermsAndConditionsHtml": {
              "type": "string"
            },
            "BillingCountries": {
              "type": "string"
            },
            "BillingStates": {
              "type": "string"
            },
            "DefaultCountryCode": {
              "type": "string"
            },
            "CardImages": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "CardImagesThumbnail": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "Categories": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "Products": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Product"
              }
            },
            "Alias": {
              "type": "string"
            },
            "RedemptionInstructions": {
              "type": "string"
            },
            "CurrencyCultureCode": {
              "type": "string"
            },
            "LanguageCultureCode": {
              "type": "string"
            },
            "Name": {
              "type": "string"
            },
            "Description": {
              "type": "string"
            },
            "BrandId": {
              "type": "string"
            },
            "MinimumCost": {
              "type": "number",
              "format": "decimal"
            },
            "VariableAmount": {
              "type": "boolean"
            },
            "VariableAmountMin": {
              "type": "number",
              "format": "decimal"
            },
            "VariableAmountMax": {
              "type": "number",
              "format": "decimal"
            },
            "ImgUrl": {
              "type": "string"
            },
            "ThumbnailImgUrl": {
              "type": "string"
            },
            "Disclaimer": {
              "type": "string"
            },
            "PreviewUrl": {
              "type": "string"
            },
            "BrandLink": {
              "type": "string"
            },
            "Link": {
              "type": "string"
            },
            "LightColor": {
              "type": "string"
            },
            "MediumColor": {
              "type": "string"
            },
            "DarkColor": {
              "type": "string"
            },
            "DateTimeCultureCode": {
              "type": "string"
            },
            "Type": {
              "type": "string"
            },
            "ExternalOrderId": {
              "type": "string"
            }
          }
        }
      ]
    },
    "Product": {
      "type": "object",
      "required": [
        "Id",
        "ProductId",
        "ProductFaceValue",
        "ShowProductOnly",
        "ProductValue"
      ],
      "properties": {
        "Id": {
          "type": "integer",
          "format": "int32"
        },
        "ProductId": {
          "type": "integer",
          "format": "int32"
        },
        "ProductDescription": {
          "type": "string"
        },
        "ProductDisplayName": {
          "type": "string"
        },
        "ProductFaceValue": {
          "type": "number",
          "format": "decimal"
        },
        "ProductName": {
          "type": "string"
        },
        "ShowProductOnly": {
          "type": "boolean"
        },
        "ProductValue": {
          "type": "number",
          "format": "decimal"
        }
      }
    },
    "BaseReward": {
      "type": "object",
      "required": [
        "Cost"
      ],
      "properties": {
        "Id": {
          "type": "string"
        },
        "Cost": {
          "type": "number",
          "format": "decimal"
        }
      }
    },
    "RewardFilter": {
      "type": "object",
      "properties": {
        "FilterName": {
          "type": "string"
        },
        "FilterValue": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfICollectionOfLanguageModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/LanguageModel"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "LanguageModel": {
      "type": "object",
      "required": [
        "Display",
        "DisplayOrder"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "LanguageCode": {
          "type": "string"
        },
        "Display": {
          "type": "boolean"
        },
        "DisplayOrder": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "BaseDtoOfICollectionOfNotificationModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NotificationModel"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "NotificationModel": {
      "type": "object",
      "required": [
        "Id"
      ],
      "properties": {
        "Id": {
          "type": "integer",
          "format": "int32"
        },
        "Name": {
          "type": "string"
        },
        "UserNotificationId": {
          "type": "integer",
          "format": "int32"
        },
        "UserId": {
          "type": "integer",
          "format": "int32"
        },
        "IsRead": {
          "type": "boolean"
        },
        "Subject": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "ImageUrl": {
          "type": "string"
        },
        "ExtraInfo": {
          "type": "string"
        },
        "UserNotificationExtraInfo": {
          "type": "string"
        },
        "Content": {
          "type": "string"
        },
        "SentDateTime": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "BaseDtoOfPaymentResponseModelV1": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/PaymentResponseModelV1"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "PaymentResponseModelV1": {
      "type": "object",
      "required": [
        "PointBalance",
        "Code"
      ],
      "properties": {
        "PointBalance": {
          "type": "number",
          "format": "float"
        },
        "Response": {
          "type": "string"
        },
        "Code": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "PaymentRequestModelV1": {
      "type": "object",
      "required": [
        "DeviceId",
        "PointsToDeduct",
        "ItemDescription",
        "ConfirmationId"
      ],
      "properties": {
        "DeviceId": {
          "type": "string",
          "minLength": 1
        },
        "PointsToDeduct": {
          "type": "number",
          "format": "float"
        },
        "ItemDescription": {
          "type": "string",
          "minLength": 1
        },
        "ConfirmationId": {
          "type": "string",
          "minLength": 1
        },
        "ExtraInfo": {
          "type": "string"
        }
      }
    },
    "PaymentProviderRequestModel": {
      "type": "object",
      "required": [
        "MemberId",
        "AddSubscription"
      ],
      "properties": {
        "MemberId": {
          "type": "integer",
          "format": "int32"
        },
        "AddSubscription": {
          "type": "boolean"
        },
        "Provider": {
          "type": "string"
        },
        "Payment": {
          "$ref": "#/definitions/Payment"
        }
      }
    },
    "Payment": {
      "type": "object",
      "properties": {
        "Id": {
          "type": "string"
        },
        "CardToken": {
          "type": "string"
        }
      }
    },
    "CancelPaymentRequestModel": {
      "type": "object",
      "properties": {
        "MemberStatus": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfListOfProductFamilyTypeModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductFamilyTypeModel"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "ProductFamilyTypeModel": {
      "type": "object",
      "required": [
        "Id",
        "Version",
        "ClientId",
        "Display"
      ],
      "properties": {
        "Id": {
          "type": "integer",
          "format": "int32"
        },
        "Version": {
          "type": "integer",
          "format": "int32"
        },
        "Name": {
          "type": "string"
        },
        "ClientId": {
          "type": "integer",
          "format": "int32"
        },
        "Display": {
          "type": "boolean"
        },
        "ProductFamilySubType": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ProductFamilySubTypeModel"
          }
        }
      }
    },
    "ProductFamilySubTypeModel": {
      "type": "object",
      "required": [
        "Id",
        "Version",
        "ProductFamilyTypeId",
        "ClientId",
        "Display"
      ],
      "properties": {
        "Id": {
          "type": "integer",
          "format": "int32"
        },
        "Version": {
          "type": "integer",
          "format": "int32"
        },
        "Name": {
          "type": "string"
        },
        "ProductFamilyTypeId": {
          "type": "integer",
          "format": "int32"
        },
        "ClientId": {
          "type": "integer",
          "format": "int32"
        },
        "Display": {
          "type": "boolean"
        }
      }
    },
    "BaseDtoOfProductFamilyTypeModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/ProductFamilyTypeModel"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfSegmentAdminModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/SegmentAdminModel"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "SegmentAdminModel": {
      "type": "object",
      "required": [
        "ValidFrom",
        "ValidTo"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "ValidFrom": {
          "type": "string",
          "format": "date-time"
        },
        "ValidTo": {
          "type": "string",
          "format": "date-time"
        },
        "Site": {
          "type": "string"
        }
      }
    },
    "MemberSegmentPostModel": {
      "type": "object",
      "required": [
        "MemberId"
      ],
      "properties": {
        "PromotionIds": {
          "type": "string"
        },
        "MemberId": {
          "type": "integer",
          "format": "int32"
        },
        "Source": {
          "type": "string",
          "maxLength": 30,
          "minLength": 1
        },
        "SegmentName": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfBoolean": {
      "type": "object",
      "required": [
        "Success",
        "Data"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "boolean"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "MemberSegmentRemoveModel": {
      "type": "object",
      "properties": {
        "MemberId": {
          "type": "integer",
          "format": "int32"
        },
        "ExtReference": {
          "type": "string",
          "maxLength": 50,
          "minLength": 0
        },
        "SegmentName": {
          "type": "string",
          "maxLength": 255,
          "minLength": 1
        },
        "SegmentId": {
          "type": "integer",
          "format": "int32"
        },
        "Reason": {
          "type": "string",
          "maxLength": 500,
          "minLength": 0
        },
        "Source": {
          "type": "string",
          "maxLength": 30,
          "minLength": 1
        }
      }
    },
    "BaseDtoOfListOfStampCardModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/StampCardModel"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "StampCardModel": {
      "type": "object",
      "required": [
        "PreviousStampCount",
        "CurrentStampCount",
        "QualifyingProductQuantity"
      ],
      "properties": {
        "UserId": {
          "type": "integer",
          "format": "int32"
        },
        "Promotion": {
          "type": "integer",
          "format": "int32"
        },
        "TransactionId": {
          "type": "integer",
          "format": "int32"
        },
        "PreviousStampCount": {
          "type": "number",
          "format": "decimal"
        },
        "CurrentStampCount": {
          "type": "number",
          "format": "decimal"
        },
        "CreatedAt": {
          "type": "string"
        },
        "QualifyingProductQuantity": {
          "type": "integer",
          "format": "int32"
        },
        "Category": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfIEnumerableOfStampcardRewardsModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/StampcardRewardsModel"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "StampcardRewardsModel": {
      "type": "object",
      "required": [
        "Id",
        "TransactionId",
        "SiteId",
        "StartDate",
        "Enabled",
        "ClientId",
        "TransactionDate"
      ],
      "properties": {
        "TransactionCommitDate": {
          "type": "string",
          "format": "date-time"
        },
        "Id": {
          "type": "integer",
          "format": "int32"
        },
        "TransactionId": {
          "type": "integer",
          "format": "int32"
        },
        "Name": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "SiteId": {
          "type": "integer",
          "format": "int32"
        },
        "StartDate": {
          "type": "string",
          "format": "date-time"
        },
        "EndDate": {
          "type": "string",
          "format": "date-time"
        },
        "StartTime": {
          "type": "string",
          "format": "duration"
        },
        "EndTime": {
          "type": "string",
          "format": "duration"
        },
        "Enabled": {
          "type": "boolean"
        },
        "DaysEnabled": {
          "type": "integer",
          "format": "int32"
        },
        "PromotionOfferValue": {
          "type": "number",
          "format": "double"
        },
        "ProductFamilyTypeName": {
          "type": "string"
        },
        "ProductFamilySubTypeName": {
          "type": "string"
        },
        "ClientId": {
          "type": "integer",
          "format": "int32"
        },
        "TransactionStatus": {
          "type": "string"
        },
        "TransactionType": {
          "type": "string"
        },
        "ImageUrl": {
          "type": "string"
        },
        "TransactionDate": {
          "type": "string",
          "format": "date-time"
        },
        "ActivityConfiguration": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfIEnumerableOfObject": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {}
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "StampcardRedeemRewardModel": {
      "type": "object",
      "required": [
        "TransactionId"
      ],
      "properties": {
        "TransactionId": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "BaseDtoOfListOfUserTaskDetailsModelV1": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UserTaskDetailsModelV1"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "UserTaskDetailsModelV1": {
      "type": "object",
      "required": [
        "OfferValue"
      ],
      "properties": {
        "TaskName": {
          "type": "string"
        },
        "TaskDescription": {
          "type": "string"
        },
        "TaskItems": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TaskItemModel"
          }
        },
        "OfferValue": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "TaskItemModel": {
      "type": "object",
      "required": [
        "TaskCompleted",
        "TargetAchieved"
      ],
      "properties": {
        "TaskItemName": {
          "type": "string"
        },
        "TaskCompleted": {
          "type": "integer",
          "format": "int32"
        },
        "TargetAchieved": {
          "type": "boolean"
        }
      }
    },
    "BaseDtoOfListOfTierModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TierModel"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "TierModel": {
      "type": "object",
      "required": [
        "TierDuration",
        "StartMonth",
        "Validity",
        "ThresholdFrom",
        "ThresholdTo",
        "GoodWill",
        "QualifiedTierMultiplier"
      ],
      "properties": {
        "Name": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "Type": {
          "type": "string"
        },
        "TierDuration": {
          "type": "integer",
          "format": "int32"
        },
        "StartMonth": {
          "type": "string",
          "format": "date-time"
        },
        "Validity": {
          "type": "integer",
          "format": "int32"
        },
        "ThresholdFrom": {
          "type": "number",
          "format": "decimal"
        },
        "ThresholdTo": {
          "type": "number",
          "format": "decimal"
        },
        "GoodWill": {
          "type": "number",
          "format": "decimal"
        },
        "ImageUrl": {
          "type": "string"
        },
        "QualifiedTierMultiplier": {
          "type": "number",
          "format": "decimal"
        }
      }
    },
    "BaseDtoOfDeviceModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/DeviceModel"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfDeviceCheckDto": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/DeviceCheckDto"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "DeviceCheckDto": {
      "type": "object",
      "required": [
        "AssignedToUser"
      ],
      "properties": {
        "AssignedToUser": {
          "type": "boolean"
        },
        "Status": {
          "type": "string"
        },
        "Type": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfIEnumerableOfDeviceModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DeviceModel"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfInteger": {
      "type": "object",
      "required": [
        "Success",
        "Data"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "integer",
          "format": "int32"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "MemberCreateModelV1": {
      "allOf": [
        {
          "$ref": "#/definitions/MemberCreateModelOfAddressModelAndAccountModelAndContactDetailsModelAndDeviceModelAndPersonalDetailsModel"
        },
        {
          "type": "object",
          "properties": {
            "Documents": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/DocumentDto"
              }
            }
          }
        }
      ]
    },
    "MemberCreateModelOfAddressModelAndAccountModelAndContactDetailsModelAndDeviceModelAndPersonalDetailsModel": {
      "type": "object",
      "required": [
        "Username",
        "SiteRef",
        "MemberType",
        "MemberSubType",
        "MemberStatus",
        "PersonalDetails",
        "ContactDetails"
      ],
      "properties": {
        "Username": {
          "type": "string",
          "minLength": 1
        },
        "SiteRef": {
          "type": "string",
          "minLength": 1
        },
        "MemberType": {
          "type": "string",
          "minLength": 1
        },
        "MemberSubType": {
          "type": "string",
          "minLength": 1
        },
        "MemberStatus": {
          "type": "string",
          "minLength": 1
        },
        "PersonalDetails": {
          "$ref": "#/definitions/PersonalDetailsModel"
        },
        "ContactDetails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContactDetailsModel"
          }
        },
        "Device": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/DeviceModel"
          }
        },
        "ExtReference": {
          "type": "string"
        },
        "LegacyNumber": {
          "type": "string"
        },
        "LanguageCode": {
          "type": "string"
        },
        "SiteId": {
          "type": "integer",
          "format": "int32"
        },
        "MemberRelation": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MemberRelationModel"
          }
        },
        "ContactByEmail": {
          "type": "integer",
          "format": "int32"
        },
        "ContactByMail": {
          "type": "integer",
          "format": "int32"
        },
        "ContactByPhone": {
          "type": "integer",
          "format": "int32"
        },
        "ContactBySms": {
          "type": "integer",
          "format": "int32"
        },
        "Password": {
          "type": "string"
        },
        "Address": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AddressModel"
          }
        },
        "ExtensionData": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExtensionDataModel"
          }
        },
        "Images": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MemberProfileImageModel"
          }
        },
        "UserGoals": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UserGoalModel"
          }
        },
        "UserTier": {
          "$ref": "#/definitions/MemberTierModel"
        },
        "UserPets": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UserPetModel"
          }
        },
        "Notes": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfTransferPointsDto": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/TransferPointsDto"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "TransferPointsDto": {
      "type": "object",
      "required": [
        "NewFromMemberPointsBalance",
        "NewToMemberPointsBalance"
      ],
      "properties": {
        "NewFromMemberPointsBalance": {
          "type": "number",
          "format": "decimal"
        },
        "NewToMemberPointsBalance": {
          "type": "number",
          "format": "decimal"
        }
      }
    },
    "TransferPointsModelV1": {
      "allOf": [
        {
          "$ref": "#/definitions/TransferPointsModel"
        },
        {
          "type": "object"
        }
      ]
    },
    "TransferPointsModel": {
      "type": "object",
      "required": [
        "PointsToTransfer"
      ],
      "properties": {
        "PointsToTransfer": {
          "type": "number",
          "format": "decimal",
          "minimum": 1.0
        },
        "ItemCode": {
          "type": "string",
          "maxLength": 30,
          "minLength": 0
        },
        "FromMemberItemCode": {
          "type": "string",
          "maxLength": 30,
          "minLength": 0
        },
        "ToMemberItemCode": {
          "type": "string",
          "maxLength": 30,
          "minLength": 0
        }
      }
    },
    "MemberUpdateModelV1": {
      "allOf": [
        {
          "$ref": "#/definitions/MemberUpdateModelOfAddressModelAndAccountModelAndContactDetailsModelAndDeviceModelAndPersonalDetailsModel"
        },
        {
          "type": "object"
        }
      ]
    },
    "MemberUpdateModelOfAddressModelAndAccountModelAndContactDetailsModelAndDeviceModelAndPersonalDetailsModel": {
      "type": "object",
      "properties": {
        "SiteRef": {
          "type": "string"
        },
        "MemberType": {
          "type": "string"
        },
        "MemberSubType": {
          "type": "string"
        },
        "MemberStatus": {
          "type": "string"
        },
        "PersonalDetails": {
          "$ref": "#/definitions/PersonalDetailsModel"
        },
        "ContactDetails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ContactDetailsModel"
          }
        },
        "ExtReference": {
          "type": "string"
        },
        "LegacyNumber": {
          "type": "string"
        },
        "LanguageCode": {
          "type": "string"
        },
        "MemberRelation": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MemberRelationModel"
          }
        },
        "ContactByEmail": {
          "type": "integer",
          "format": "int32"
        },
        "ContactByMail": {
          "type": "integer",
          "format": "int32"
        },
        "ContactByPhone": {
          "type": "integer",
          "format": "int32"
        },
        "ContactBySms": {
          "type": "integer",
          "format": "int32"
        },
        "Password": {
          "type": "string"
        },
        "Recruiter": {
          "type": "string"
        },
        "Address": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/AddressModel"
          }
        },
        "ExtensionData": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ExtensionDataModel"
          }
        },
        "FirstLoginDate": {
          "type": "string",
          "format": "date-time"
        },
        "LastLoginDate": {
          "type": "string",
          "format": "date-time"
        },
        "ExpirationDate": {
          "type": "string",
          "format": "date-time"
        },
        "HasEmailChanged": {
          "type": "boolean"
        },
        "HasMobileNumberChanged": {
          "type": "boolean"
        },
        "UpdatedEmail": {
          "type": "string"
        },
        "IsEmailChangeRequest": {
          "type": "boolean"
        },
        "UserAddressVerified": {
          "type": "boolean"
        },
        "LastUpdatedByUsername": {
          "type": "string"
        },
        "Images": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MemberProfileImageModel"
          }
        },
        "UserGoals": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UserGoalModel"
          }
        },
        "UserTier": {
          "$ref": "#/definitions/MemberTierModel"
        },
        "UserPets": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UserPetModel"
          }
        },
        "Notes": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfIEnumerableOfMemberModelV1": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MemberModelV1"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfListOfMemberSubTypeViewData": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MemberSubTypeViewData"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "MemberSubTypeViewData": {
      "type": "object",
      "required": [
        "MemberId"
      ],
      "properties": {
        "MemberId": {
          "type": "integer",
          "format": "int32"
        },
        "Name": {
          "type": "string"
        },
        "City": {
          "type": "string"
        },
        "State": {
          "type": "string"
        },
        "Lat": {
          "type": "string"
        },
        "Lng": {
          "type": "string"
        },
        "ProfileLogoUrl": {
          "type": "string"
        },
        "Type": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfAccountModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/AccountModel"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "HttpRequestMessage": {
      "type": "object",
      "properties": {
        "Version": {
          "$ref": "#/definitions/Version"
        },
        "Content": {
          "$ref": "#/definitions/HttpContent"
        },
        "Method": {
          "$ref": "#/definitions/HttpMethod"
        },
        "RequestUri": {
          "type": "string",
          "format": "uri"
        },
        "Headers": {
          "$ref": "#/definitions/HttpRequestHeaders"
        },
        "Properties": {
          "type": "object",
          "additionalProperties": {}
        }
      }
    },
    "Version": {
      "type": "object",
      "required": [
        "Major",
        "Minor",
        "Build",
        "Revision",
        "MajorRevision",
        "MinorRevision"
      ],
      "properties": {
        "Major": {
          "type": "integer",
          "format": "int32"
        },
        "Minor": {
          "type": "integer",
          "format": "int32"
        },
        "Build": {
          "type": "integer",
          "format": "int32"
        },
        "Revision": {
          "type": "integer",
          "format": "int32"
        },
        "MajorRevision": {
          "type": "integer"
        },
        "MinorRevision": {
          "type": "integer"
        }
      }
    },
    "HttpContent": {
      "type": "object",
      "x-abstract": true,
      "properties": {
        "Headers": {
          "$ref": "#/definitions/HttpContentHeaders"
        }
      }
    },
    "HttpContentHeaders": {
      "allOf": [
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/KeyValuePairOfStringAndIEnumerableOfString"
          }
        },
        {
          "type": "object",
          "properties": {
            "Allow": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "ContentDisposition": {
              "$ref": "#/definitions/ContentDispositionHeaderValue"
            },
            "ContentEncoding": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "ContentLanguage": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "ContentLength": {
              "type": "integer",
              "format": "int64"
            },
            "ContentLocation": {
              "type": "string",
              "format": "uri"
            },
            "ContentMD5": {
              "type": "string",
              "format": "byte"
            },
            "ContentRange": {
              "$ref": "#/definitions/ContentRangeHeaderValue"
            },
            "ContentType": {
              "$ref": "#/definitions/MediaTypeHeaderValue"
            },
            "Expires": {
              "type": "string",
              "format": "date-time"
            },
            "LastModified": {
              "type": "string",
              "format": "date-time"
            }
          }
        }
      ]
    },
    "ContentDispositionHeaderValue": {
      "type": "object",
      "properties": {
        "DispositionType": {
          "type": "string"
        },
        "Parameters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NameValueHeaderValue"
          }
        },
        "Name": {
          "type": "string"
        },
        "FileName": {
          "type": "string"
        },
        "FileNameStar": {
          "type": "string"
        },
        "CreationDate": {
          "type": "string",
          "format": "date-time"
        },
        "ModificationDate": {
          "type": "string",
          "format": "date-time"
        },
        "ReadDate": {
          "type": "string",
          "format": "date-time"
        },
        "Size": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "NameValueHeaderValue": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "Value": {
          "type": "string"
        }
      }
    },
    "ContentRangeHeaderValue": {
      "type": "object",
      "required": [
        "HasLength",
        "HasRange"
      ],
      "properties": {
        "Unit": {
          "type": "string"
        },
        "From": {
          "type": "integer",
          "format": "int64"
        },
        "To": {
          "type": "integer",
          "format": "int64"
        },
        "Length": {
          "type": "integer",
          "format": "int64"
        },
        "HasLength": {
          "type": "boolean"
        },
        "HasRange": {
          "type": "boolean"
        }
      }
    },
    "MediaTypeHeaderValue": {
      "type": "object",
      "properties": {
        "CharSet": {
          "type": "string"
        },
        "Parameters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NameValueHeaderValue"
          }
        },
        "MediaType": {
          "type": "string"
        }
      }
    },
    "KeyValuePairOfStringAndIEnumerableOfString": {
      "type": "object",
      "properties": {
        "Key": {
          "type": "string"
        },
        "Value": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "HttpMethod": {
      "type": "object",
      "properties": {
        "Method": {
          "type": "string"
        }
      }
    },
    "HttpRequestHeaders": {
      "allOf": [
        {
          "type": "array",
          "items": {
            "$ref": "#/definitions/KeyValuePairOfStringAndIEnumerableOfString"
          }
        },
        {
          "type": "object",
          "properties": {
            "Accept": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/MediaTypeWithQualityHeaderValue"
              }
            },
            "AcceptCharset": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/StringWithQualityHeaderValue"
              }
            },
            "AcceptEncoding": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/StringWithQualityHeaderValue"
              }
            },
            "AcceptLanguage": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/StringWithQualityHeaderValue"
              }
            },
            "Authorization": {
              "$ref": "#/definitions/AuthenticationHeaderValue"
            },
            "Expect": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/NameValueWithParametersHeaderValue"
              }
            },
            "ExpectContinue": {
              "type": "boolean"
            },
            "From": {
              "type": "string"
            },
            "Host": {
              "type": "string"
            },
            "IfMatch": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EntityTagHeaderValue"
              }
            },
            "IfModifiedSince": {
              "type": "string",
              "format": "date-time"
            },
            "IfNoneMatch": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/EntityTagHeaderValue"
              }
            },
            "IfRange": {
              "$ref": "#/definitions/RangeConditionHeaderValue"
            },
            "IfUnmodifiedSince": {
              "type": "string",
              "format": "date-time"
            },
            "MaxForwards": {
              "type": "integer",
              "format": "int32"
            },
            "ProxyAuthorization": {
              "$ref": "#/definitions/AuthenticationHeaderValue"
            },
            "Range": {
              "$ref": "#/definitions/RangeHeaderValue"
            },
            "Referrer": {
              "type": "string",
              "format": "uri"
            },
            "TE": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TransferCodingWithQualityHeaderValue"
              }
            },
            "UserAgent": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ProductInfoHeaderValue"
              }
            },
            "CacheControl": {
              "$ref": "#/definitions/CacheControlHeaderValue"
            },
            "Connection": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "ConnectionClose": {
              "type": "boolean"
            },
            "Date": {
              "type": "string",
              "format": "date-time"
            },
            "Pragma": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/NameValueHeaderValue"
              }
            },
            "Trailer": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "TransferEncoding": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TransferCodingHeaderValue"
              }
            },
            "TransferEncodingChunked": {
              "type": "boolean"
            },
            "Upgrade": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ProductHeaderValue"
              }
            },
            "Via": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ViaHeaderValue"
              }
            },
            "Warning": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/WarningHeaderValue"
              }
            }
          }
        }
      ]
    },
    "MediaTypeWithQualityHeaderValue": {
      "allOf": [
        {
          "$ref": "#/definitions/MediaTypeHeaderValue"
        },
        {
          "type": "object",
          "properties": {
            "Quality": {
              "type": "number",
              "format": "double"
            }
          }
        }
      ]
    },
    "StringWithQualityHeaderValue": {
      "type": "object",
      "properties": {
        "Value": {
          "type": "string"
        },
        "Quality": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "AuthenticationHeaderValue": {
      "type": "object",
      "properties": {
        "Scheme": {
          "type": "string"
        },
        "Parameter": {
          "type": "string"
        }
      }
    },
    "NameValueWithParametersHeaderValue": {
      "allOf": [
        {
          "$ref": "#/definitions/NameValueHeaderValue"
        },
        {
          "type": "object",
          "properties": {
            "Parameters": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/NameValueHeaderValue"
              }
            }
          }
        }
      ]
    },
    "EntityTagHeaderValue": {
      "type": "object",
      "required": [
        "IsWeak"
      ],
      "properties": {
        "Tag": {
          "type": "string"
        },
        "IsWeak": {
          "type": "boolean"
        }
      }
    },
    "RangeConditionHeaderValue": {
      "type": "object",
      "properties": {
        "Date": {
          "type": "string",
          "format": "date-time"
        },
        "EntityTag": {
          "$ref": "#/definitions/EntityTagHeaderValue"
        }
      }
    },
    "RangeHeaderValue": {
      "type": "object",
      "properties": {
        "Unit": {
          "type": "string"
        },
        "Ranges": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RangeItemHeaderValue"
          }
        }
      }
    },
    "RangeItemHeaderValue": {
      "type": "object",
      "properties": {
        "From": {
          "type": "integer",
          "format": "int64"
        },
        "To": {
          "type": "integer",
          "format": "int64"
        }
      }
    },
    "TransferCodingWithQualityHeaderValue": {
      "allOf": [
        {
          "$ref": "#/definitions/TransferCodingHeaderValue"
        },
        {
          "type": "object",
          "properties": {
            "Quality": {
              "type": "number",
              "format": "double"
            }
          }
        }
      ]
    },
    "TransferCodingHeaderValue": {
      "type": "object",
      "properties": {
        "Value": {
          "type": "string"
        },
        "Parameters": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NameValueHeaderValue"
          }
        }
      }
    },
    "ProductInfoHeaderValue": {
      "type": "object",
      "properties": {
        "Product": {
          "$ref": "#/definitions/ProductHeaderValue"
        },
        "Comment": {
          "type": "string"
        }
      }
    },
    "ProductHeaderValue": {
      "type": "object",
      "properties": {
        "Name": {
          "type": "string"
        },
        "Version": {
          "type": "string"
        }
      }
    },
    "CacheControlHeaderValue": {
      "type": "object",
      "required": [
        "NoCache",
        "NoStore",
        "MaxStale",
        "NoTransform",
        "OnlyIfCached",
        "Public",
        "Private",
        "MustRevalidate",
        "ProxyRevalidate"
      ],
      "properties": {
        "NoCache": {
          "type": "boolean"
        },
        "NoCacheHeaders": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "NoStore": {
          "type": "boolean"
        },
        "MaxAge": {
          "type": "string",
          "format": "duration"
        },
        "SharedMaxAge": {
          "type": "string",
          "format": "duration"
        },
        "MaxStale": {
          "type": "boolean"
        },
        "MaxStaleLimit": {
          "type": "string",
          "format": "duration"
        },
        "MinFresh": {
          "type": "string",
          "format": "duration"
        },
        "NoTransform": {
          "type": "boolean"
        },
        "OnlyIfCached": {
          "type": "boolean"
        },
        "Public": {
          "type": "boolean"
        },
        "Private": {
          "type": "boolean"
        },
        "PrivateHeaders": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "MustRevalidate": {
          "type": "boolean"
        },
        "ProxyRevalidate": {
          "type": "boolean"
        },
        "Extensions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/NameValueHeaderValue"
          }
        }
      }
    },
    "ViaHeaderValue": {
      "type": "object",
      "properties": {
        "ProtocolName": {
          "type": "string"
        },
        "ProtocolVersion": {
          "type": "string"
        },
        "ReceivedBy": {
          "type": "string"
        },
        "Comment": {
          "type": "string"
        }
      }
    },
    "WarningHeaderValue": {
      "type": "object",
      "required": [
        "Code"
      ],
      "properties": {
        "Code": {
          "type": "integer",
          "format": "int32"
        },
        "Agent": {
          "type": "string"
        },
        "Text": {
          "type": "string"
        },
        "Date": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "BaseDtoOfUserGoalModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/UserGoalModel"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "Status": {
      "type": "integer",
      "description": "",
      "x-enumNames": [
        "Active",
        "Inactive",
        "Deleted"
      ],
      "enum": [
        0,
        1,
        2
      ]
    },
    "BaseDtoOfListOfMemberTierModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MemberTierModel"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfListOfMemberTierKPI": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/MemberTierKPI"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "MemberTierKPI": {
      "type": "object",
      "required": [
        "UserId"
      ],
      "properties": {
        "UserId": {
          "type": "integer",
          "format": "int32"
        },
        "PropertyName": {
          "type": "string"
        },
        "PropertyValue": {
          "type": "string"
        },
        "ModifiedDate": {
          "type": "string",
          "format": "date-time"
        }
      }
    },
    "MemberDataAnonymizeModel": {
      "type": "object",
      "properties": {
        "Remarks": {
          "type": "string"
        },
        "Source": {
          "type": "string"
        }
      }
    },
    "UpdateCommunicationPreferenceDto": {
      "type": "object",
      "properties": {
        "ContactByEmail": {
          "type": "integer",
          "format": "int32"
        },
        "ContactByMail": {
          "type": "integer",
          "format": "int32"
        },
        "ContactByPhone": {
          "type": "integer",
          "format": "int32"
        },
        "ContactBySms": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "PromotionPostModel": {
      "type": "object",
      "required": [
        "Version",
        "Name",
        "Description",
        "SiteRef",
        "StartDate",
        "EndDate",
        "Enabled",
        "PromotionCategoryName",
        "PromotionCategoryTypeName",
        "IsEmailCommunication",
        "IsSmsCommunication",
        "IsPushNotification",
        "AcceptanceSites",
        "MaxUsagePerMember"
      ],
      "properties": {
        "Version": {
          "type": "integer",
          "format": "int32"
        },
        "Name": {
          "type": "string",
          "minLength": 1
        },
        "Description": {
          "type": "string",
          "minLength": 1
        },
        "SiteRef": {
          "type": "string",
          "minLength": 1
        },
        "StartDate": {
          "type": "string",
          "format": "date-time"
        },
        "EndDate": {
          "type": "string",
          "format": "date-time"
        },
        "StartTime": {
          "type": "string",
          "format": "duration"
        },
        "EndTime": {
          "type": "string",
          "format": "duration"
        },
        "Enabled": {
          "type": "boolean"
        },
        "DaysEnabled": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "PromotionOfferTypeName": {
          "type": "string"
        },
        "PromotionCategoryName": {
          "type": "string",
          "minLength": 1
        },
        "PromotionCategoryTypeName": {
          "type": "string",
          "minLength": 1
        },
        "PromotionOfferValue": {
          "type": "number",
          "format": "double"
        },
        "VoucherProfileName": {
          "type": "string"
        },
        "PromotionTypeId": {
          "type": "integer",
          "format": "int32"
        },
        "ActivityCategoryName": {
          "type": "string"
        },
        "PromotionCriteriaName": {
          "type": "string"
        },
        "IsEmailCommunication": {
          "type": "boolean"
        },
        "EmailTemplate": {
          "type": "string"
        },
        "IsSmsCommunication": {
          "type": "boolean"
        },
        "SmsTemplate": {
          "type": "string"
        },
        "IsPushNotification": {
          "type": "boolean"
        },
        "PushNotificationTemplate": {
          "type": "string"
        },
        "ProductFamilyTypeName": {
          "type": "string"
        },
        "ProductFamilySubTypeName": {
          "type": "string"
        },
        "AcceptanceSites": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "LoyaltyProfileRestrictions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "PromotionHtmlContent": {
          "type": "string"
        },
        "ImageData": {
          "type": "string"
        },
        "ImageContentType": {
          "type": "string"
        },
        "Cumulation": {
          "type": "boolean"
        },
        "ActivityCategoryTypeName": {
          "type": "string"
        },
        "PromotionHitLimitTypeName": {
          "type": "string"
        },
        "PromotionThreshold": {
          "type": "number",
          "format": "float"
        },
        "TotalOffers": {
          "type": "integer",
          "format": "int32"
        },
        "MISCode": {
          "type": "string"
        },
        "Message": {
          "type": "string"
        },
        "GroupItems": {
          "type": "boolean"
        },
        "PromotionItemFlagAnd": {
          "type": "boolean"
        },
        "IsBonusRedemption": {
          "type": "boolean"
        },
        "MaxUsagePerMember": {
          "type": "integer",
          "format": "int32"
        },
        "OverrideBasePointRestriction": {
          "type": "boolean"
        },
        "QualifyingProductQuantity": {
          "type": "number",
          "format": "double"
        },
        "MaxPromoApplicationOnSameBasket": {
          "type": "integer",
          "format": "int32"
        },
        "Personalized": {
          "type": "boolean"
        },
        "IsTemplate": {
          "type": "boolean"
        },
        "IsIndustryPromo": {
          "type": "boolean"
        },
        "ActivityReference": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfListOfPromotionModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PromotionModel"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "PromotionModel": {
      "type": "object",
      "required": [
        "Id",
        "SiteId",
        "StartDate",
        "Enabled",
        "MaxUsagePerMember",
        "RemainingUsagePerMember"
      ],
      "properties": {
        "Id": {
          "type": "integer",
          "format": "int32"
        },
        "Name": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "SiteId": {
          "type": "integer",
          "format": "int32"
        },
        "StartDate": {
          "type": "string",
          "format": "date-time"
        },
        "EndDate": {
          "type": "string",
          "format": "date-time"
        },
        "StartTime": {
          "type": "string",
          "format": "duration"
        },
        "EndTime": {
          "type": "string",
          "format": "duration"
        },
        "TimeZone": {
          "type": "string"
        },
        "Enabled": {
          "type": "boolean"
        },
        "DaysEnabled": {
          "type": "integer",
          "format": "int32"
        },
        "PromotionCategory": {
          "type": "string"
        },
        "PromotionOfferValue": {
          "type": "number",
          "format": "double"
        },
        "MISCode": {
          "type": "string"
        },
        "PromotionTypeId": {
          "type": "integer",
          "format": "int32"
        },
        "VoucherProfileId": {
          "type": "integer",
          "format": "int32"
        },
        "PromotionOfferType": {
          "type": "string"
        },
        "ActivityCategoryName": {
          "type": "string"
        },
        "ActivityCategoryTypeName": {
          "type": "string"
        },
        "PromotionHtmlContent": {
          "type": "string"
        },
        "PromotionItem": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/PromotionItemModel"
          }
        },
        "ActivityReference": {
          "type": "string"
        },
        "MaxUsagePerMember": {
          "type": "integer",
          "format": "int32"
        },
        "RemainingUsagePerMember": {
          "type": "integer",
          "format": "int32"
        },
        "ActivityConfiguration": {
          "type": "string"
        },
        "ImageUrl": {
          "type": "string"
        },
        "Config": {
          "type": "string"
        },
        "Status": {
          "type": "string"
        }
      }
    },
    "PromotionItemModel": {
      "type": "object",
      "required": [
        "Id",
        "Version",
        "PromotionId",
        "Quantity",
        "LogicalAnd"
      ],
      "properties": {
        "Id": {
          "type": "integer",
          "format": "int32"
        },
        "Version": {
          "type": "integer",
          "format": "int32"
        },
        "PromotionId": {
          "type": "integer",
          "format": "int32"
        },
        "PromotionItemType": {
          "type": "string"
        },
        "Code": {
          "type": "string"
        },
        "FilterType": {
          "type": "integer",
          "format": "int32"
        },
        "Quantity": {
          "type": "integer",
          "format": "int32"
        },
        "ItemIncludeExclude": {
          "type": "string"
        },
        "PromotionItemGroup": {
          "type": "string"
        },
        "LogicalAnd": {
          "type": "boolean"
        },
        "Model": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfPromotionModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/PromotionModel"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfZiploopReceiptResponseViewModelV1": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/ZiploopReceiptResponseViewModelV1"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "ZiploopReceiptResponseViewModelV1": {
      "type": "object",
      "required": [
        "Count",
        "PageCount",
        "PageNumber",
        "TotalCount"
      ],
      "properties": {
        "Count": {
          "type": "integer",
          "format": "int32"
        },
        "PageCount": {
          "type": "integer",
          "format": "int32"
        },
        "PageNumber": {
          "type": "integer",
          "format": "int32"
        },
        "TotalCount": {
          "type": "integer",
          "format": "int32"
        },
        "Receipts": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ZiploopReceiptTransactionsView"
          }
        }
      }
    },
    "ZiploopReceiptTransactionsView": {
      "type": "object",
      "properties": {
        "ReceiptImages": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ZiploopReceiptclientImages"
          }
        },
        "UserId": {
          "type": "string"
        },
        "SubmittedAt": {
          "type": "string"
        },
        "Reference": {
          "type": "string"
        },
        "Status": {
          "type": "string"
        },
        "IPEReceiptId": {
          "type": "string"
        }
      }
    },
    "ZiploopReceiptclientImages": {
      "type": "object",
      "properties": {
        "ContentType": {
          "type": "string"
        },
        "Url": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfReceiptModelV1": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/ReceiptModelV1"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "ReceiptModelV1": {
      "type": "object",
      "required": [
        "ReceiptId",
        "TransTime",
        "CampaignID",
        "ProcTime"
      ],
      "properties": {
        "ReceiptId": {
          "type": "integer",
          "format": "int32"
        },
        "Version": {
          "type": "integer",
          "format": "int32"
        },
        "ClientEventID": {
          "type": "string",
          "format": "guid"
        },
        "SnippEventID": {
          "type": "string",
          "format": "guid"
        },
        "TransTime": {
          "type": "string",
          "format": "date-time"
        },
        "CampaignID": {
          "type": "string",
          "format": "guid"
        },
        "ImageUrl": {
          "type": "string"
        },
        "UserID": {
          "type": "string"
        },
        "SnippUserId": {
          "type": "integer",
          "format": "int32"
        },
        "ValidationTypeID": {
          "type": "string"
        },
        "ProcessingTypeID": {
          "type": "string"
        },
        "ProcessingStatus": {
          "type": "string"
        },
        "ProcTime": {
          "type": "string",
          "format": "date-time"
        },
        "ImageStatus": {
          "type": "string"
        },
        "CreatedDate": {
          "type": "string",
          "format": "date-time"
        },
        "LastUpdatedDate": {
          "type": "string",
          "format": "date-time"
        },
        "ExtraInfo": {
          "type": "string"
        },
        "Response": {
          "type": "string"
        }
      }
    },
    "ReceiptExtraInfoModelV1": {
      "type": "object",
      "properties": {
        "UniqueTransactionId": {
          "type": "string"
        },
        "ExtraInfoData": {}
      }
    },
    "ReceiptUploadWidgetModel": {
      "allOf": [
        {
          "$ref": "#/definitions/WidgetRequestModel"
        },
        {
          "type": "object",
          "properties": {
            "SourceId": {
              "type": "string"
            },
            "UserId": {
              "type": "string"
            },
            "Set": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ImageSet"
              }
            },
            "ExtraInfo": {
              "$ref": "#/definitions/ReceiptExtraInfoModelV1"
            }
          }
        }
      ]
    },
    "ImageSet": {
      "type": "object",
      "required": [
        "SetPosition"
      ],
      "properties": {
        "MimeType": {
          "type": "string",
          "description": "Allowed MIME Type(s) are: {\"image/png\", \"image/jpg\", \"image/jpeg\", \"image/gif\", \"application/pdf\", \"image/tiff\", \"text/html\", \"image/bmp\", \"image/webp\", \"image/x-portable-arbitrarymap\", \"image/heic\", \"image/heif\"}"
        },
        "ResourceId": {
          "type": "string"
        },
        "ResourceBlob": {
          "type": "string"
        },
        "ResourceUrl": {
          "type": "string"
        },
        "SetPosition": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "WidgetRequestModel": {
      "type": "object",
      "required": [
        "ClientUniqueId",
        "WidgetId"
      ],
      "properties": {
        "ClientUniqueId": {
          "type": "string",
          "format": "guid"
        },
        "ClientDomain": {
          "type": "string"
        },
        "WidgetId": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "BaseDtoOfObject": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {},
        "MessageType": {
          "type": "string"
        }
      }
    },
    "ReceiptRequeueUploadModelV1": {
      "type": "object",
      "properties": {
        "IPEReceiptId": {
          "type": "string"
        },
        "Reason": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfListOfRewardItemModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/RewardItemModel"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "GetAllRewardsRequestModel": {
      "type": "object",
      "properties": {
        "UserId": {
          "type": "integer",
          "format": "int32"
        },
        "RewardType": {
          "type": "string"
        },
        "ShowOnlyNonRewardItems": {
          "type": "boolean"
        },
        "SiteRef": {
          "type": "string"
        },
        "Attributes": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "Categories": {
          "type": "string"
        },
        "ShowMemberDetails": {
          "type": "boolean"
        },
        "SegmentFilter": {
          "type": "boolean"
        }
      }
    },
    "PromotionType": {
      "type": "integer",
      "description": "",
      "x-enumNames": [
        "Registration",
        "MemberProfileData",
        "NewDevice",
        "Login"
      ],
      "enum": [
        0,
        1,
        2,
        3
      ]
    },
    "RedeemRequestByTypeModel": {
      "type": "object",
      "required": [
        "RewardName",
        "UserID",
        "DeductPoints",
        "Description",
        "Reference"
      ],
      "properties": {
        "RewardName": {
          "type": "string",
          "description": "Reward name of the redemption",
          "minLength": 1
        },
        "UserID": {
          "type": "integer",
          "description": "The user id of the registered member",
          "format": "int32"
        },
        "DeductPoints": {
          "type": "number",
          "description": "Point to be deducted for the member",
          "format": "decimal"
        },
        "Description": {
          "type": "string",
          "description": "The description of the reward",
          "minLength": 1
        },
        "Reference": {
          "type": "string",
          "description": "External unique identifier",
          "minLength": 1
        },
        "AddtionalDetails": {
          "type": "string",
          "description": "Additional information to be stored"
        }
      }
    },
    "BaseDtoOfRewardItemModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/RewardItemModel"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "Void": {
      "type": "object"
    },
    "RedemptionOrderModel": {
      "type": "object",
      "required": [
        "TrxId",
        "OldTrxId",
        "UserId",
        "TrxDetailId",
        "ClientId",
        "ChangedBy",
        "Points",
        "SiteId"
      ],
      "properties": {
        "TrxId": {
          "type": "integer",
          "format": "int32"
        },
        "OldTrxId": {
          "type": "integer",
          "format": "int32"
        },
        "UserId": {
          "type": "integer",
          "format": "int32"
        },
        "TrxDetailId": {
          "type": "integer",
          "format": "int32"
        },
        "DeviceId": {
          "type": "string"
        },
        "EmailAddress": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "ReceivedDate": {
          "type": "string"
        },
        "OrderStatus": {
          "type": "string"
        },
        "OldTransactionStatus": {
          "type": "string"
        },
        "ShippingStatus": {
          "type": "string"
        },
        "SalesLineOrderId": {
          "type": "string"
        },
        "ConfirmationId": {
          "type": "string"
        },
        "TrxType": {
          "type": "string"
        },
        "ShipToUserNumber": {
          "type": "string"
        },
        "ClientId": {
          "type": "integer",
          "format": "int32"
        },
        "ChangedBy": {
          "type": "integer",
          "format": "int32"
        },
        "FirstName": {
          "type": "string"
        },
        "LastName": {
          "type": "string"
        },
        "AddressLine1": {
          "type": "string"
        },
        "AddressLine2": {
          "type": "string"
        },
        "City": {
          "type": "string"
        },
        "State": {
          "type": "string"
        },
        "Country": {
          "type": "string"
        },
        "Zip": {
          "type": "string"
        },
        "PhoneNumber": {
          "type": "string"
        },
        "ExternalRewardRef": {
          "type": "string"
        },
        "SupplierRewardReference": {
          "type": "string"
        },
        "Points": {
          "type": "integer",
          "format": "int32"
        },
        "SiteId": {
          "type": "integer",
          "format": "int32"
        },
        "ShipmentConfirmationId": {
          "type": "string"
        },
        "Comments": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfListOfUserRewardStatusModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/UserRewardStatusModel"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "UserRewardStatusModel": {
      "type": "object",
      "required": [
        "RewardItemId",
        "Limit",
        "Used",
        "Remaining",
        "LimitSetDate"
      ],
      "properties": {
        "RewardItemId": {
          "type": "integer",
          "format": "int32"
        },
        "RewardName": {
          "type": "string"
        },
        "Limit": {
          "type": "integer",
          "format": "int32"
        },
        "UserPeriod": {
          "type": "string"
        },
        "Used": {
          "type": "integer",
          "format": "int32"
        },
        "Remaining": {
          "type": "integer",
          "format": "int32"
        },
        "LimitSetDate": {
          "type": "string",
          "format": "date-time"
        },
        "Status": {
          "type": "string"
        }
      }
    },
    "SetRewardLimitsRequestModel": {
      "type": "object",
      "required": [
        "UserId"
      ],
      "properties": {
        "UserId": {
          "type": "integer",
          "format": "int32"
        },
        "RewardLimits": {
          "type": "object",
          "additionalProperties": {
            "type": "integer",
            "format": "int32"
          }
        },
        "Period": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfIEnumerableOfTransactionModelV1": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransactionModelV1"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "TransactionModelV1": {
      "allOf": [
        {
          "$ref": "#/definitions/TransactionModel"
        },
        {
          "type": "object",
          "required": [
            "MemberId",
            "IsAnonymous",
            "TotalCount",
            "CreateDate"
          ],
          "properties": {
            "MemberId": {
              "type": "integer",
              "format": "int32"
            },
            "MemberExtReference": {
              "type": "string"
            },
            "MemberName": {
              "type": "string"
            },
            "IsAnonymous": {
              "type": "boolean"
            },
            "Reference": {
              "type": "string"
            },
            "TerminalExtra2": {
              "type": "string"
            },
            "TerminalExtra3": {
              "type": "string"
            },
            "AccountCashBalance": {
              "type": "number",
              "format": "float"
            },
            "AccountPointsBalance": {
              "type": "number",
              "format": "float"
            },
            "TransactionDetails": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TransactionDetail"
              }
            },
            "TransactionPayments": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TransactionPayment"
              }
            },
            "Rewards": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Reward"
              }
            },
            "TotalCount": {
              "type": "integer",
              "format": "int32"
            },
            "BonusPoints": {
              "type": "number",
              "format": "double"
            },
            "CreateDate": {
              "type": "string",
              "format": "date-time"
            },
            "TrxCommitDate": {
              "type": "string",
              "format": "date-time"
            },
            "BatchId": {
              "type": "string",
              "maxLength": 50,
              "minLength": 0
            },
            "OpId": {
              "type": "string"
            }
          }
        }
      ]
    },
    "TransactionDetail": {
      "type": "object",
      "required": [
        "TrxDetailId",
        "LineNumber",
        "PromotionId"
      ],
      "properties": {
        "TrxDetailId": {
          "type": "integer",
          "format": "int32"
        },
        "LineNumber": {
          "type": "integer",
          "format": "int32"
        },
        "ItemCode": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "Anal1": {
          "type": "string"
        },
        "Anal2": {
          "type": "string"
        },
        "Anal3": {
          "type": "string"
        },
        "Anal4": {
          "type": "string"
        },
        "Quantity": {
          "type": "number",
          "format": "double"
        },
        "Anal6": {
          "type": "string"
        },
        "Anal7": {
          "type": "string"
        },
        "Anal8": {
          "type": "string"
        },
        "Anal9": {
          "type": "string"
        },
        "Anal10": {
          "type": "string"
        },
        "Anal11": {
          "type": "string"
        },
        "Anal12": {
          "type": "string"
        },
        "Anal13": {
          "type": "string"
        },
        "Anal14": {
          "type": "string"
        },
        "Anal15": {
          "type": "string"
        },
        "Anal16": {
          "type": "string"
        },
        "Value": {
          "type": "number",
          "format": "decimal"
        },
        "Points": {
          "type": "number",
          "format": "double"
        },
        "Discount": {
          "type": "number",
          "format": "decimal"
        },
        "Vouchers": {
          "$ref": "#/definitions/TransactionVoucherDetail"
        },
        "VoucherDetails": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransactionVoucherDetail"
          }
        },
        "StampCard": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransactionDetailStampCard"
          }
        },
        "Promotions": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransactionDetailPromotion"
          }
        },
        "PromotionImageUrl": {
          "type": "string"
        },
        "PromotionId": {
          "type": "integer",
          "format": "int32"
        },
        "PromotionName": {
          "type": "string"
        },
        "BonusPoints": {
          "type": "number",
          "format": "double"
        },
        "PromotionCategory": {
          "type": "string"
        },
        "RewardName": {
          "type": "string"
        },
        "Variation": {
          "type": "string"
        }
      }
    },
    "TransactionVoucherDetail": {
      "type": "object",
      "required": [
        "VoucherAmount"
      ],
      "properties": {
        "VoucherDevice": {
          "type": "string"
        },
        "VoucherAmount": {
          "type": "number",
          "format": "decimal"
        },
        "Status": {
          "type": "string"
        },
        "MISCode": {
          "type": "string"
        }
      }
    },
    "TransactionDetailStampCard": {
      "type": "object",
      "required": [
        "Id",
        "Version",
        "PromotionId",
        "TrxDetailId"
      ],
      "properties": {
        "Id": {
          "type": "integer",
          "format": "int32"
        },
        "Version": {
          "type": "integer",
          "format": "int32"
        },
        "PromotionId": {
          "type": "integer",
          "format": "int32"
        },
        "TrxDetailId": {
          "type": "integer",
          "format": "int32"
        },
        "ValueUsed": {
          "type": "number",
          "format": "double"
        },
        "PunchTrXType": {
          "type": "integer",
          "format": "int32"
        },
        "PromotionCategory": {
          "type": "string"
        }
      }
    },
    "TransactionDetailPromotion": {
      "type": "object",
      "required": [
        "PromotionId"
      ],
      "properties": {
        "PromotionId": {
          "type": "integer",
          "format": "int32"
        },
        "PromotionName": {
          "type": "string"
        },
        "PromotionImageUrl": {
          "type": "string"
        },
        "BonusPoints": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "TransactionPayment": {
      "type": "object",
      "required": [
        "MemberId",
        "PaymentType",
        "PaymentAmount"
      ],
      "properties": {
        "ClientTransactionId": {
          "type": "string",
          "description": "The unique id associated with this transaction"
        },
        "MemberId": {
          "type": "integer",
          "description": "The user id of the registered member",
          "format": "int32"
        },
        "PaymentType": {
          "type": "string",
          "description": "The type of payment such as: ETF/Cheque",
          "minLength": 1
        },
        "AuthorizationNumber": {
          "type": "string",
          "description": "The authorization number."
        },
        "PaymentAmount": {
          "type": "number",
          "description": "The payment amount",
          "format": "double"
        },
        "Currency": {
          "type": "string",
          "description": "The currency for ex: EUR, USD"
        },
        "ExtraInfo": {
          "type": "string",
          "description": "Any reference against this payment for ex: marketing or reward"
        }
      }
    },
    "Reward": {
      "type": "object",
      "required": [
        "RewardType"
      ],
      "properties": {
        "DeviceId": {
          "type": "string"
        },
        "MemberId": {
          "type": "string"
        },
        "EligibleItemId": {
          "type": "string"
        },
        "RewardType": {
          "$ref": "#/definitions/RewardType"
        },
        "RewardValue": {}
      }
    },
    "RewardType": {
      "type": "integer",
      "description": "",
      "x-enumNames": [
        "PointsAllocation",
        "PointsMultiplier",
        "PointsPercentage",
        "Stamp",
        "Validation",
        "FreeItem",
        "CompetitionEntry",
        "Voucher",
        "Digital",
        "Cash",
        "StarCode",
        "ReferrerPointsAllocation",
        "ReferredPointsAllocation",
        "StampCounterReset",
        "StampCounterIncrement",
        "NewStampCounter",
        "Physical",
        "CustomCode",
        "Sweeps"
      ],
      "enum": [
        0,
        1,
        2,
        3,
        4,
        5,
        6,
        7,
        8,
        9,
        10,
        11,
        12,
        13,
        14,
        15,
        16,
        17,
        18
      ]
    },
    "TransactionModel": {
      "type": "object",
      "required": [
        "TrxId",
        "TransactionDate"
      ],
      "properties": {
        "TrxId": {
          "type": "integer",
          "format": "int32"
        },
        "PosTrxId": {
          "type": "string"
        },
        "TransactionDate": {
          "type": "string",
          "format": "date-time"
        },
        "StoreName": {
          "type": "string"
        },
        "DeviceNumber": {
          "type": "string"
        },
        "Value": {
          "type": "number",
          "format": "decimal"
        },
        "Points": {
          "type": "number",
          "format": "double"
        },
        "Discount": {
          "type": "number",
          "format": "decimal"
        },
        "Status": {
          "type": "string"
        },
        "Type": {
          "type": "string"
        },
        "TerminalDescription": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfListOfTransactionModelV1": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransactionModelV1"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfTransactionModelV1": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/TransactionModelV1"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfIEnumerableOfTransactionResponseModelV1": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransactionResponseModelV1"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "TransactionResponseModelV1": {
      "allOf": [
        {
          "$ref": "#/definitions/TransactionModel"
        },
        {
          "type": "object",
          "required": [
            "MemberId",
            "IsAnonymous",
            "TotalCount",
            "CreateDate"
          ],
          "properties": {
            "MemberId": {
              "type": "integer",
              "format": "int32"
            },
            "MemberExtReference": {
              "type": "string"
            },
            "MemberName": {
              "type": "string"
            },
            "IsAnonymous": {
              "type": "boolean"
            },
            "Reference": {
              "type": "string"
            },
            "TerminalExtra2": {
              "type": "string"
            },
            "TerminalExtra3": {
              "type": "string"
            },
            "AccountCashBalance": {
              "type": "number",
              "format": "float"
            },
            "AccountPointsBalance": {
              "type": "number",
              "format": "float"
            },
            "TransactionDetails": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TransactionDetail"
              }
            },
            "TransactionPayments": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/TransactionPayment"
              }
            },
            "Rewards": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Reward"
              }
            },
            "TotalCount": {
              "type": "integer",
              "format": "int32"
            },
            "BonusPoints": {
              "type": "number",
              "format": "double"
            },
            "CreateDate": {
              "type": "string",
              "format": "date-time"
            },
            "TrxCommitDate": {
              "type": "string",
              "format": "date-time"
            },
            "BatchId": {
              "type": "string",
              "maxLength": 50,
              "minLength": 0
            },
            "OpId": {
              "type": "string"
            }
          }
        }
      ]
    },
    "TransactionPaymentModelV1": {
      "allOf": [
        {
          "$ref": "#/definitions/TransactionPayment"
        },
        {
          "type": "object"
        }
      ]
    },
    "BaseDtoOfListOfTransactionPromotionDetailModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransactionPromotionDetailModel"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "TransactionPromotionDetailModel": {
      "type": "object",
      "properties": {
        "ItemCode": {
          "type": "string"
        },
        "ItemName": {
          "type": "string"
        },
        "PromotionName": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "PointsBalance": {
          "type": "number",
          "format": "double"
        },
        "BonusPoints": {
          "type": "number",
          "format": "double"
        }
      }
    },
    "BaseDtoOfListOfTransactionByTypeModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/TransactionByTypeModel"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "TransactionByTypeModel": {
      "type": "object",
      "required": [
        "TrxId",
        "Date",
        "Points"
      ],
      "properties": {
        "TrxId": {
          "type": "integer",
          "format": "int32"
        },
        "Reference": {
          "type": "string"
        },
        "Date": {
          "type": "string",
          "format": "date-time"
        },
        "Type": {
          "type": "string"
        },
        "Points": {
          "type": "number",
          "format": "double"
        },
        "AnalysisCode1": {
          "type": "string"
        },
        "AnalysisCode2": {
          "type": "string"
        },
        "AnalysisCode3": {
          "type": "string"
        },
        "AnalysisCode4": {
          "type": "string"
        },
        "TerminalExtra2": {
          "type": "string"
        },
        "Description": {
          "type": "string"
        },
        "ConfirmationId": {
          "type": "string"
        }
      }
    },
    "TransactionSearchModel": {
      "type": "object",
      "required": [
        "MemberId",
        "Page",
        "PageSize",
        "FilterReceiptByMemberId"
      ],
      "properties": {
        "MemberId": {
          "type": "integer",
          "format": "int32"
        },
        "Username": {
          "type": "string"
        },
        "Page": {
          "type": "integer",
          "format": "int32"
        },
        "PageSize": {
          "type": "integer",
          "format": "int32"
        },
        "FromDate": {
          "type": "string",
          "format": "date-time"
        },
        "ToDate": {
          "type": "string",
          "format": "date-time"
        },
        "IncludeTrxTypes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "ExcludeTrxTypes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "IncludeTrxStatus": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "TrxStatus": {
          "type": "string"
        },
        "TrxType": {
          "type": "string"
        },
        "SortColumn": {
          "type": "string"
        },
        "SortDirection": {
          "type": "string"
        },
        "ExcludeDeviceProfileTemplateCodes": {
          "type": "string"
        },
        "MemberIds": {
          "type": "string"
        },
        "OpId": {
          "type": "string"
        },
        "Reference": {
          "type": "string"
        },
        "FilterReceiptByMemberId": {
          "type": "boolean"
        }
      }
    },
    "BaseDtoOfRedeemVoucherResponse": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/RedeemVoucherResponse"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "RedeemVoucherResponse": {
      "type": "object",
      "required": [
        "PointsValue",
        "NewPointsBalance"
      ],
      "properties": {
        "PointsValue": {
          "type": "number",
          "format": "decimal"
        },
        "NewPointsBalance": {
          "type": "number",
          "format": "decimal"
        },
        "Reference": {
          "type": "string"
        },
        "TrxId": {
          "type": "integer",
          "format": "int32"
        }
      }
    },
    "RedeemVoucherDto": {
      "type": "object",
      "required": [
        "MemberId"
      ],
      "properties": {
        "MemberId": {
          "type": "integer",
          "format": "int32"
        },
        "VoucherNumber": {
          "type": "string"
        },
        "ItemDescription": {
          "type": "string"
        },
        "Reference": {
          "type": "string"
        },
        "UniqueId": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfVoucherCodeByTypeModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "$ref": "#/definitions/VoucherCodeByTypeModel"
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "VoucherCodeByTypeModel": {
      "type": "object",
      "properties": {
        "MessageType": {
          "type": "string"
        },
        "Type": {
          "type": "string"
        },
        "MessageData": {
          "type": "string"
        }
      }
    },
    "RedeemVoucherRequestModel": {
      "type": "object",
      "required": [
        "UserId"
      ],
      "properties": {
        "UserId": {
          "type": "integer",
          "format": "int32"
        },
        "Code": {
          "type": "string"
        },
        "ExtraInfo": {},
        "VoucherType": {
          "type": "string"
        },
        "VoucherValue": {
          "type": "string"
        }
      }
    },
    "BaseDtoOfIEnumerableOfGetVoucherModel": {
      "type": "object",
      "required": [
        "Success"
      ],
      "properties": {
        "Success": {
          "type": "boolean"
        },
        "Message": {
          "type": "string"
        },
        "Data": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/GetVoucherModel"
          }
        },
        "MessageType": {
          "type": "string"
        }
      }
    },
    "GetVoucherModel": {
      "type": "object",
      "required": [
        "ExpiryDate"
      ],
      "properties": {
        "VoucherCode": {
          "type": "string"
        },
        "ExpiryDate": {
          "type": "string",
          "format": "date-time"
        },
        "DateUsed": {
          "type": "string",
          "format": "date-time"
        },
        "Status": {
          "type": "string"
        }
      }
    }
  },
  "tags": [
    {
      "name": "Account",
      "description": "Management of member accounts."
    },
    {
      "name": "Activities",
      "description": "Management of member activities and award points to members."
    },
    {
      "name": "Document",
      "description": "Management of documents upload"
    },
    {
      "name": "ExternalRewards",
      "description": "Management of third party rewards"
    },
    {
      "name": "Language",
      "description": "Management client support languages."
    },
    {
      "name": "Notifications",
      "description": "Management of Notifications."
    },
    {
      "name": "Payment",
      "description": "Management of member balance and payments."
    },
    {
      "name": "ProductFamily",
      "description": "Management of client product family types."
    },
    {
      "name": "Segment",
      "description": "Management of member segments."
    },
    {
      "name": "StampCard",
      "description": "Management of member stamp cards."
    },
    {
      "name": "Tasks",
      "description": "Management of member task activities."
    },
    {
      "name": "Device",
      "description": "Management of member devices."
    },
    {
      "name": "Member",
      "description": "Management of member information."
    },
    {
      "name": "Promotion",
      "description": "Management of promotions."
    },
    {
      "name": "Receipts",
      "description": "Management of receipts upload."
    },
    {
      "name": "Rewards",
      "description": "Management of reward items."
    },
    {
      "name": "Transactions",
      "description": "Management of member transactions."
    },
    {
      "name": "Voucher",
      "description": "Management of vouchers."
    }
  ]
}