Patron Notice Policies (v0.7)

http://localhost:9130

Table of contents

Patron Notice Policies API

Storage for Patron Notice Policies

/patron-notice-policy-storage

GET /patron-notice-policy-storage/patron-notice-policies

Get Patron Notice Policy list

GET /patron-notice-policy-storage/patron-notice-policies
Query Parameters
  • offset: (integer - default: 0 - minimum: 0 - maximum: 2147483647)

    Skip over a number of elements by specifying an offset value for the query

    Example:

    0
  • limit: (integer - default: 10 - minimum: 0 - maximum: 2147483647)

    Limit the number of elements returned in the response

    Example:

    10
  • query: (string)

    A query expressed as a CQL string (see dev.folio.org/reference/glossary#cql) using valid searchable fields. The first example below shows the general form of a full CQL query, but those fields might not be relevant in this context.

    searchable using CQL

    Example:

    (username=="ab*" or personal.firstName=="ab*" or personal.lastName=="ab*") and active=="true" sortby personal.lastName personal.firstName barcode
    
    name="undergrad*"
    

Response 200

Return Patron Notice Policy list

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "Collection of patron notice policies",
  "type": "object",
  "properties": {
    "patronNoticePolicies": {
      "description": "List of patron notice policies",
      "id": "patronNoticePolicies",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "patron-notice-policy.json"
      }
    },
    "totalRecords": {
      "type": "integer"
    }
  },
  "required": [
    "patronNoticePolicies",
    "totalRecords"
  ]
}

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

POST /patron-notice-policy-storage/patron-notice-policies

Create new Patron Notice Policy

POST /patron-notice-policy-storage/patron-notice-policies
Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "additionalProperties": false,
  "description": "Patron notice policy",
  "properties": {
    "id": {
      "type": "string",
      "description": "Patron notice policy id, UUID"
    },
    "name": {
      "type": "string",
      "description": "Patron notice policy name"
    },
    "description": {
      "type": "string",
      "description": "Patron notice policy description"
    },
    "active": {
      "type": "boolean",
      "description": "A flag to determine if a patron notice policy is active"
    },
    "metadata": {
      "description": "Metadata about creation and changes to policy, provided by the server (client should not provide)",
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    },
    "loanNotices": {
      "type": "array",
      "description": "List of loan notices",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Notice name"
          },
          "templateId": {
            "type": "string",
            "description": "Template id, UUID"
          },
          "templateName": {
            "type": "string",
            "description": "Template name"
          },
          "format": {
            "type": "string",
            "description": "Notice format, send through email, sms etc.",
            "enum": [
              "Email",
              "SMS",
              "Print"
            ]
          },
          "frequency": {
            "type": "string",
            "description": "Frequency, send it once or more",
            "enum": [
              "One time",
              "Recurring"
            ]
          },
          "realTime": {
            "type": "boolean",
            "description": "Is this real time event"
          },
          "sendOptions": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "sendHow": {
                "type": "string",
                "description": "Defines how notice should be sent, before, after or upon",
                "enum": [
                  "Upon At",
                  "Before",
                  "After"
                ]
              },
              "sendWhen": {
                "type": "string",
                "description": "Triggering event",
                "enum": [
                  "Due date",
                  "Overdue",
                  "Renewed",
                  "Check in",
                  "Check out"
                ]
              },
              "sendBy": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send by options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              },
              "sendEvery": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send every options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              }
            },
            "required": [
              "sendWhen"
            ]
          }
        },
        "required": [
          "templateId",
          "format",
          "realTime"
        ]
      }
    },
    "feeFineNotices": {
      "type": "array",
      "description": "List of fee/fine notices",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Notice name"
          },
          "templateId": {
            "type": "string",
            "description": "Template id, UUID"
          },
          "templateName": {
            "type": "string",
            "description": "Template name"
          },
          "format": {
            "type": "string",
            "description": "Notice format, send through email, sms etc.",
            "enum": [
              "Email",
              "SMS",
              "Print"
            ]
          },
          "frequency": {
            "type": "string",
            "description": "Frequency, send it once or more",
            "enum": [
              "One time",
              "Recurring"
            ]
          },
          "realTime": {
            "type": "boolean",
            "description": "Is this real time event"
          },
          "sendOptions": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "sendHow": {
                "type": "string",
                "description": "Defines how notice should be sent, before, after or upon",
                "enum": [
                  "Upon At",
                  "Before",
                  "After"
                ]
              },
              "sendBy": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send by options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              },
              "sendEvery": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send every options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              }
            },
            "required": [
              "sendHow"
            ]
          }
        },
        "required": [
          "templateId",
          "format",
          "realTime"
        ]
      }
    },
    "requestNotices": {
      "type": "array",
      "description": "List of request notice",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Notice name"
          },
          "templateId": {
            "type": "string",
            "description": "Template id, UUID"
          },
          "templateName": {
            "type": "string",
            "description": "Template name"
          },
          "format": {
            "type": "string",
            "description": "Notice format, send through email, sms etc.",
            "enum": [
              "Email",
              "SMS",
              "Print"
            ]
          },
          "frequency": {
            "type": "string",
            "description": "Frequency, send it once or more",
            "enum": [
              "One time",
              "Recurring"
            ]
          },
          "realTime": {
            "type": "boolean",
            "description": "Is this real time event"
          },
          "sendOptions": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "sendHow": {
                "type": "string",
                "description": "Defines how notice should be sent, before, after or upon",
                "enum": [
                  "Upon At",
                  "Before",
                  "After"
                ]
              },
              "sendWhen": {
                "type": "string",
                "description": "User initiated and time driven events for request related notices",
                "enum": [
                  "Recall request",
                  "Recall loanee",
                  "Hold request",
                  "Paging request",
                  "Available",
                  "Hold Expiration",
                  "Request cancellation"
                ]
              },
              "sendBy": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send by options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              },
              "sendEvery": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send every options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              }
            },
            "required": [
              "sendWhen"
            ]
          }
        },
        "required": [
          "templateId",
          "format",
          "realTime"
        ]
      }
    }
  },
  "required": [
    "name"
  ]
}

Response 201

Successfully created

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "additionalProperties": false,
  "description": "Patron notice policy",
  "properties": {
    "id": {
      "type": "string",
      "description": "Patron notice policy id, UUID"
    },
    "name": {
      "type": "string",
      "description": "Patron notice policy name"
    },
    "description": {
      "type": "string",
      "description": "Patron notice policy description"
    },
    "active": {
      "type": "boolean",
      "description": "A flag to determine if a patron notice policy is active"
    },
    "metadata": {
      "description": "Metadata about creation and changes to policy, provided by the server (client should not provide)",
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    },
    "loanNotices": {
      "type": "array",
      "description": "List of loan notices",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Notice name"
          },
          "templateId": {
            "type": "string",
            "description": "Template id, UUID"
          },
          "templateName": {
            "type": "string",
            "description": "Template name"
          },
          "format": {
            "type": "string",
            "description": "Notice format, send through email, sms etc.",
            "enum": [
              "Email",
              "SMS",
              "Print"
            ]
          },
          "frequency": {
            "type": "string",
            "description": "Frequency, send it once or more",
            "enum": [
              "One time",
              "Recurring"
            ]
          },
          "realTime": {
            "type": "boolean",
            "description": "Is this real time event"
          },
          "sendOptions": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "sendHow": {
                "type": "string",
                "description": "Defines how notice should be sent, before, after or upon",
                "enum": [
                  "Upon At",
                  "Before",
                  "After"
                ]
              },
              "sendWhen": {
                "type": "string",
                "description": "Triggering event",
                "enum": [
                  "Due date",
                  "Overdue",
                  "Renewed",
                  "Check in",
                  "Check out"
                ]
              },
              "sendBy": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send by options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              },
              "sendEvery": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send every options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              }
            },
            "required": [
              "sendWhen"
            ]
          }
        },
        "required": [
          "templateId",
          "format",
          "realTime"
        ]
      }
    },
    "feeFineNotices": {
      "type": "array",
      "description": "List of fee/fine notices",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Notice name"
          },
          "templateId": {
            "type": "string",
            "description": "Template id, UUID"
          },
          "templateName": {
            "type": "string",
            "description": "Template name"
          },
          "format": {
            "type": "string",
            "description": "Notice format, send through email, sms etc.",
            "enum": [
              "Email",
              "SMS",
              "Print"
            ]
          },
          "frequency": {
            "type": "string",
            "description": "Frequency, send it once or more",
            "enum": [
              "One time",
              "Recurring"
            ]
          },
          "realTime": {
            "type": "boolean",
            "description": "Is this real time event"
          },
          "sendOptions": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "sendHow": {
                "type": "string",
                "description": "Defines how notice should be sent, before, after or upon",
                "enum": [
                  "Upon At",
                  "Before",
                  "After"
                ]
              },
              "sendBy": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send by options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              },
              "sendEvery": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send every options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              }
            },
            "required": [
              "sendHow"
            ]
          }
        },
        "required": [
          "templateId",
          "format",
          "realTime"
        ]
      }
    },
    "requestNotices": {
      "type": "array",
      "description": "List of request notice",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Notice name"
          },
          "templateId": {
            "type": "string",
            "description": "Template id, UUID"
          },
          "templateName": {
            "type": "string",
            "description": "Template name"
          },
          "format": {
            "type": "string",
            "description": "Notice format, send through email, sms etc.",
            "enum": [
              "Email",
              "SMS",
              "Print"
            ]
          },
          "frequency": {
            "type": "string",
            "description": "Frequency, send it once or more",
            "enum": [
              "One time",
              "Recurring"
            ]
          },
          "realTime": {
            "type": "boolean",
            "description": "Is this real time event"
          },
          "sendOptions": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "sendHow": {
                "type": "string",
                "description": "Defines how notice should be sent, before, after or upon",
                "enum": [
                  "Upon At",
                  "Before",
                  "After"
                ]
              },
              "sendWhen": {
                "type": "string",
                "description": "User initiated and time driven events for request related notices",
                "enum": [
                  "Recall request",
                  "Recall loanee",
                  "Hold request",
                  "Paging request",
                  "Available",
                  "Hold Expiration",
                  "Request cancellation"
                ]
              },
              "sendBy": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send by options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              },
              "sendEvery": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send every options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              }
            },
            "required": [
              "sendWhen"
            ]
          }
        },
        "required": [
          "templateId",
          "format",
          "realTime"
        ]
      }
    }
  },
  "required": [
    "name"
  ]
}

Response 422

Unprocessable entity

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

GET /patron-notice-policy-storage/patron-notice-policies/{patronNoticePolicyId}

Get Patron Notice Policy by id

GET /patron-notice-policy-storage/patron-notice-policies/{patronNoticePolicyId}
URI Parameters
  • patronNoticePolicyId: required (string)

Response 200

Return Patron Notice Policy

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "additionalProperties": false,
  "description": "Patron notice policy",
  "properties": {
    "id": {
      "type": "string",
      "description": "Patron notice policy id, UUID"
    },
    "name": {
      "type": "string",
      "description": "Patron notice policy name"
    },
    "description": {
      "type": "string",
      "description": "Patron notice policy description"
    },
    "active": {
      "type": "boolean",
      "description": "A flag to determine if a patron notice policy is active"
    },
    "metadata": {
      "description": "Metadata about creation and changes to policy, provided by the server (client should not provide)",
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    },
    "loanNotices": {
      "type": "array",
      "description": "List of loan notices",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Notice name"
          },
          "templateId": {
            "type": "string",
            "description": "Template id, UUID"
          },
          "templateName": {
            "type": "string",
            "description": "Template name"
          },
          "format": {
            "type": "string",
            "description": "Notice format, send through email, sms etc.",
            "enum": [
              "Email",
              "SMS",
              "Print"
            ]
          },
          "frequency": {
            "type": "string",
            "description": "Frequency, send it once or more",
            "enum": [
              "One time",
              "Recurring"
            ]
          },
          "realTime": {
            "type": "boolean",
            "description": "Is this real time event"
          },
          "sendOptions": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "sendHow": {
                "type": "string",
                "description": "Defines how notice should be sent, before, after or upon",
                "enum": [
                  "Upon At",
                  "Before",
                  "After"
                ]
              },
              "sendWhen": {
                "type": "string",
                "description": "Triggering event",
                "enum": [
                  "Due date",
                  "Overdue",
                  "Renewed",
                  "Check in",
                  "Check out"
                ]
              },
              "sendBy": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send by options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              },
              "sendEvery": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send every options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              }
            },
            "required": [
              "sendWhen"
            ]
          }
        },
        "required": [
          "templateId",
          "format",
          "realTime"
        ]
      }
    },
    "feeFineNotices": {
      "type": "array",
      "description": "List of fee/fine notices",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Notice name"
          },
          "templateId": {
            "type": "string",
            "description": "Template id, UUID"
          },
          "templateName": {
            "type": "string",
            "description": "Template name"
          },
          "format": {
            "type": "string",
            "description": "Notice format, send through email, sms etc.",
            "enum": [
              "Email",
              "SMS",
              "Print"
            ]
          },
          "frequency": {
            "type": "string",
            "description": "Frequency, send it once or more",
            "enum": [
              "One time",
              "Recurring"
            ]
          },
          "realTime": {
            "type": "boolean",
            "description": "Is this real time event"
          },
          "sendOptions": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "sendHow": {
                "type": "string",
                "description": "Defines how notice should be sent, before, after or upon",
                "enum": [
                  "Upon At",
                  "Before",
                  "After"
                ]
              },
              "sendBy": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send by options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              },
              "sendEvery": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send every options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              }
            },
            "required": [
              "sendHow"
            ]
          }
        },
        "required": [
          "templateId",
          "format",
          "realTime"
        ]
      }
    },
    "requestNotices": {
      "type": "array",
      "description": "List of request notice",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Notice name"
          },
          "templateId": {
            "type": "string",
            "description": "Template id, UUID"
          },
          "templateName": {
            "type": "string",
            "description": "Template name"
          },
          "format": {
            "type": "string",
            "description": "Notice format, send through email, sms etc.",
            "enum": [
              "Email",
              "SMS",
              "Print"
            ]
          },
          "frequency": {
            "type": "string",
            "description": "Frequency, send it once or more",
            "enum": [
              "One time",
              "Recurring"
            ]
          },
          "realTime": {
            "type": "boolean",
            "description": "Is this real time event"
          },
          "sendOptions": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "sendHow": {
                "type": "string",
                "description": "Defines how notice should be sent, before, after or upon",
                "enum": [
                  "Upon At",
                  "Before",
                  "After"
                ]
              },
              "sendWhen": {
                "type": "string",
                "description": "User initiated and time driven events for request related notices",
                "enum": [
                  "Recall request",
                  "Recall loanee",
                  "Hold request",
                  "Paging request",
                  "Available",
                  "Hold Expiration",
                  "Request cancellation"
                ]
              },
              "sendBy": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send by options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              },
              "sendEvery": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send every options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              }
            },
            "required": [
              "sendWhen"
            ]
          }
        },
        "required": [
          "templateId",
          "format",
          "realTime"
        ]
      }
    }
  },
  "required": [
    "name"
  ]
}

Response 404

Not found

Body

Media type: text/plain

Type: any

Example:

Not found

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error

DELETE /patron-notice-policy-storage/patron-notice-policies/{patronNoticePolicyId}

Delete Patron Notice Policy by id

DELETE /patron-notice-policy-storage/patron-notice-policies/{patronNoticePolicyId}
URI Parameters
  • patronNoticePolicyId: required (string)

Response 204

Source record deleted

Response 404

There is no source record for that patronNoticePolicyId

Body

Media type: text/plain

Type: any

Example:

Not found

Response 500

Internal server error, e.g. due to misconfiguration

Body

Media type: text/plain

Type: any

Example:

Internal server error

PUT /patron-notice-policy-storage/patron-notice-policies/{patronNoticePolicyId}

Update Patron Notice Policy by id

PUT /patron-notice-policy-storage/patron-notice-policies/{patronNoticePolicyId}
URI Parameters
  • patronNoticePolicyId: required (string)
Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "additionalProperties": false,
  "description": "Patron notice policy",
  "properties": {
    "id": {
      "type": "string",
      "description": "Patron notice policy id, UUID"
    },
    "name": {
      "type": "string",
      "description": "Patron notice policy name"
    },
    "description": {
      "type": "string",
      "description": "Patron notice policy description"
    },
    "active": {
      "type": "boolean",
      "description": "A flag to determine if a patron notice policy is active"
    },
    "metadata": {
      "description": "Metadata about creation and changes to policy, provided by the server (client should not provide)",
      "type": "object",
      "$ref": "raml-util/schemas/metadata.schema"
    },
    "loanNotices": {
      "type": "array",
      "description": "List of loan notices",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Notice name"
          },
          "templateId": {
            "type": "string",
            "description": "Template id, UUID"
          },
          "templateName": {
            "type": "string",
            "description": "Template name"
          },
          "format": {
            "type": "string",
            "description": "Notice format, send through email, sms etc.",
            "enum": [
              "Email",
              "SMS",
              "Print"
            ]
          },
          "frequency": {
            "type": "string",
            "description": "Frequency, send it once or more",
            "enum": [
              "One time",
              "Recurring"
            ]
          },
          "realTime": {
            "type": "boolean",
            "description": "Is this real time event"
          },
          "sendOptions": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "sendHow": {
                "type": "string",
                "description": "Defines how notice should be sent, before, after or upon",
                "enum": [
                  "Upon At",
                  "Before",
                  "After"
                ]
              },
              "sendWhen": {
                "type": "string",
                "description": "Triggering event",
                "enum": [
                  "Due date",
                  "Overdue",
                  "Renewed",
                  "Check in",
                  "Check out"
                ]
              },
              "sendBy": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send by options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              },
              "sendEvery": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send every options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              }
            },
            "required": [
              "sendWhen"
            ]
          }
        },
        "required": [
          "templateId",
          "format",
          "realTime"
        ]
      }
    },
    "feeFineNotices": {
      "type": "array",
      "description": "List of fee/fine notices",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Notice name"
          },
          "templateId": {
            "type": "string",
            "description": "Template id, UUID"
          },
          "templateName": {
            "type": "string",
            "description": "Template name"
          },
          "format": {
            "type": "string",
            "description": "Notice format, send through email, sms etc.",
            "enum": [
              "Email",
              "SMS",
              "Print"
            ]
          },
          "frequency": {
            "type": "string",
            "description": "Frequency, send it once or more",
            "enum": [
              "One time",
              "Recurring"
            ]
          },
          "realTime": {
            "type": "boolean",
            "description": "Is this real time event"
          },
          "sendOptions": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "sendHow": {
                "type": "string",
                "description": "Defines how notice should be sent, before, after or upon",
                "enum": [
                  "Upon At",
                  "Before",
                  "After"
                ]
              },
              "sendBy": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send by options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              },
              "sendEvery": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send every options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              }
            },
            "required": [
              "sendHow"
            ]
          }
        },
        "required": [
          "templateId",
          "format",
          "realTime"
        ]
      }
    },
    "requestNotices": {
      "type": "array",
      "description": "List of request notice",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Notice name"
          },
          "templateId": {
            "type": "string",
            "description": "Template id, UUID"
          },
          "templateName": {
            "type": "string",
            "description": "Template name"
          },
          "format": {
            "type": "string",
            "description": "Notice format, send through email, sms etc.",
            "enum": [
              "Email",
              "SMS",
              "Print"
            ]
          },
          "frequency": {
            "type": "string",
            "description": "Frequency, send it once or more",
            "enum": [
              "One time",
              "Recurring"
            ]
          },
          "realTime": {
            "type": "boolean",
            "description": "Is this real time event"
          },
          "sendOptions": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "sendHow": {
                "type": "string",
                "description": "Defines how notice should be sent, before, after or upon",
                "enum": [
                  "Upon At",
                  "Before",
                  "After"
                ]
              },
              "sendWhen": {
                "type": "string",
                "description": "User initiated and time driven events for request related notices",
                "enum": [
                  "Recall request",
                  "Recall loanee",
                  "Hold request",
                  "Paging request",
                  "Available",
                  "Hold Expiration",
                  "Request cancellation"
                ]
              },
              "sendBy": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send by options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              },
              "sendEvery": {
                "type": "object",
                "additionalProperties": false,
                "description": "Send every options",
                "properties": {
                  "duration": {
                    "type": "integer",
                    "description": "Duration amount",
                    "minimum": 1,
                    "maximum": 100
                  },
                  "intervalId": {
                    "type": "string",
                    "description": "Interval id",
                    "enum": [
                      "Minutes",
                      "Hours",
                      "Days",
                      "Weeks",
                      "Months",
                      "Years"
                    ]
                  }
                },
                "required": [
                  "duration",
                  "intervalId"
                ]
              }
            },
            "required": [
              "sendWhen"
            ]
          }
        },
        "required": [
          "templateId",
          "format",
          "realTime"
        ]
      }
    }
  },
  "required": [
    "name"
  ]
}

Response 204

Successfully updated

Response 404

Not found

Body

Media type: text/plain

Type: any

Example:

Not found

Response 422

Unprocessable entity

Body

Media type: application/json

Type: json

Content:

{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "description": "A set of errors",
  "type": "object",
  "properties": {
    "errors": {
      "description": "List of errors",
      "id": "errors",
      "type": "array",
      "items": {
        "type": "object",
        "$ref": "error.schema"
      }
    },
    "total_records": {
      "type": "integer"
    }
  }
}

Response 500

Internal server error

Body

Media type: text/plain

Type: any

Example:

Internal server error