All Downloads are FREE. Search and download functionalities are using the official Maven repository.

eedm.payroll-deduction-arrangements.v7.0.payroll-deduction-arrangements.json Maven / Gradle / Ivy

{
  "title" : "Payroll Deduction Arrangements",
  "description" : "A request to establish a payroll deduction.",
  "type" : "object",
  "properties" : {
    "metadata" : {
      "$ref" : "resource:/eedm/metadata.json"
    },
    "id" : {
      "title" : "ID",
      "description" : "The global identifier of a payroll deduction request.",
      "type" : "string",
      "format" : "guid",
      "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
    },
    "person" : {
      "title" : "Person",
      "description" : "The employee for whom the payroll deduction is requested.",
      "type" : "object",
      "properties" : {
        "id" : {
          "title" : "ID",
          "description" : "The global identifier for the Person.",
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        }
      },
      "links" : [ {
        "rel" : "self",
        "href" : "/persons/{id}",
        "targetSchema" : {
          "$ref" : "persons.json#"
        }
      } ],
      "additionalProperties" : false,
      "required" : [ "id" ]
    },
    "paymentTarget" : {
      "title" : "Payment Target",
      "description" : "The target towards which payroll deductions are requested.",
      "oneOf" : [ {
        "title" : "One Of-1",
        "description" : "",
        "type" : "object",
        "properties" : {
          "commitment" : {
            "title" : "Commitment",
            "description" : "The commitment and type of commitment made.",
            "type" : "object",
            "properties" : {
              "contribution" : {
                "title" : "Contribution",
                "description" : "The contribution (pledge/recurring donation) for which the payroll deduction is requested",
                "type" : "string"
              },
              "type" : {
                "title" : "Type",
                "description" : "The reason for a payroll deduction request.",
                "enum" : [ "pledge", "recurringDonation", "membershipDues" ],
                "type" : "string"
              }
            },
            "additionalProperties" : false
          }
        },
        "additionalProperties" : false
      }, {
        "title" : "One Of-2",
        "description" : "",
        "type" : "object",
        "properties" : {
          "deduction" : {
            "title" : "Deduction",
            "description" : "Payroll deduction for HSA, dining, parking, wage garnishments, etc.",
            "type" : "object",
            "properties" : {
              "deductionType" : {
                "title" : "Deduction Type",
                "description" : "Payroll deduction for HSA, dining, parking, wage garnishments, etc.",
                "type" : "object",
                "properties" : {
                  "id" : {
                    "title" : "ID",
                    "description" : "The global identifier for the Deduction Type.",
                    "type" : "string",
                    "format" : "guid",
                    "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
                  }
                },
                "links" : [ {
                  "rel" : "self",
                  "href" : "/deduction-types/{id}",
                  "targetSchema" : {
                    "$ref" : "deduction-types.json#"
                  }
                } ],
                "additionalProperties" : false,
                "required" : [ "id" ]
              }
            },
            "additionalProperties" : false
          }
        },
        "additionalProperties" : false
      } ]
    },
    "status" : {
      "title" : "Status",
      "description" : "The status of a payroll deduction request.",
      "enum" : [ "active", "suspended", "rejected", "cancelled", "withdrawn", "terminated" ],
      "type" : "string"
    },
    "amountPerPayment" : {
      "title" : "Amount per Payment",
      "description" : "The amount to be deducted per instance.",
      "format" : "currency",
      "type" : "object",
      "properties" : {
        "value" : {
          "title" : "Value",
          "description" : "The monetary value",
          "type" : "number"
        },
        "currency" : {
          "title" : "Currency",
          "description" : "The ISO 4217 currency code",
          "enum" : [ "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYR", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRO", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SRD", "SSP", "STD", "SVC", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VEF", "VND", "VUV", "WST", "XAF", "XCD", "XOF", "XPF", "YER", "ZAR", "ZMW", "ZWL" ],
          "type" : "string"
        }
      },
      "additionalProperties" : false,
      "required" : [ "value", "currency" ]
    },
    "totalAmount" : {
      "title" : "Total Amount",
      "description" : "The total amount to be deducted.",
      "oneOf" : [ {
        "type" : "object",
        "format" : "currency",
        "properties" : {
          "value" : {
            "title" : "Value",
            "description" : "The monetary value",
            "type" : "number"
          },
          "currency" : {
            "title" : "Currency",
            "description" : "The ISO 4217 currency code",
            "enum" : [ "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYR", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRO", "MUR", "MVR", "MWK", "MXN", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SRD", "SSP", "STD", "SVC", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VEF", "VND", "VUV", "WST", "XAF", "XCD", "XOF", "XPF", "YER", "ZAR", "ZMW", "ZWL" ],
            "type" : "string"
          }
        },
        "additionalProperties" : false,
        "required" : [ "value", "currency" ]
      }, {
        "type" : "object",
        "maxProperties" : 0
      } ]
    },
    "startOn" : {
      "title" : "Start On",
      "description" : "The date when the payroll deductions should begin.",
      "type" : "string",
      "format" : "date",
      "pattern" : "^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])$"
    },
    "endOn" : {
      "title" : "End On",
      "description" : "The date when the payroll deductions should end.",
      "oneOf" : [ {
        "type" : "string",
        "format" : "date",
        "pattern" : "^(-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[0-1]|0[1-9]|[1-2][0-9])$"
      }, {
        "type" : "string",
        "maxLength" : 0
      } ]
    },
    "payPeriodOccurence" : {
      "title" : "Pay Period Occurence",
      "description" : "The pay periods for which the payroll deductions are applicable.",
      "oneOf" : [ {
        "title" : "Interval",
        "description" : "The number of pay periods between deductions, e.g 1 = every pay period, 2 = every other pay period).",
        "type" : "object",
        "properties" : {
          "interval" : {
            "title" : "Interval",
            "description" : "The number of pay periods between deductions, e.g. 1 = every pay period, 2 = every other pay period).",
            "type" : "integer"
          }
        },
        "additionalProperties" : false,
        "required" : [ "interval" ]
      }, {
        "title" : "Monthly Pay Periods",
        "description" : "A list of pay periods during a month when deductions should occur. Use a positive number to count from the start of the month (e.g., 1 = first pay period of the month, 2 = second pay period of the month), and a negative number to count from the end of the month (e.g. -1 = last pay period of the month).",
        "type" : "object",
        "properties" : {
          "monthlyPayPeriods" : {
            "title" : "Monthly Pay Periods",
            "description" : "A list of pay periods during a month when deductions should occur. Use a positive number to count from the start of the month (e.g., 1 = first pay period of the month, 2 = second pay period of the month), and a negative number to count from the end of the month (e.g. -1 = last pay period of the month).",
            "type" : "array",
            "minItems" : 1,
            "items" : {
              "type" : "integer"
            }
          }
        },
        "additionalProperties" : false,
        "required" : [ "monthlyPayPeriods" ]
      } ]
    },
    "changeReason" : {
      "title" : "Change Reason",
      "description" : "The reason why a property was changed (example: status change)",
      "oneOf" : [ {
        "type" : "object",
        "properties" : {
          "id" : {
            "title" : "ID",
            "description" : "The global identifier for the Change Reason.",
            "type" : "string",
            "format" : "guid",
            "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
          }
        },
        "links" : [ {
          "rel" : "self",
          "href" : "/payroll-deduction-arrangement-change-reasons/{id}",
          "targetSchema" : {
            "$ref" : "payroll-deduction-arrangement-change-reasons.json#"
          }
        } ],
        "additionalProperties" : false,
        "required" : [ "id" ]
      }, {
        "type" : "object",
        "maxProperties" : 0
      } ]
    }
  },
  "required" : [ "id", "person", "paymentTarget", "status", "amountPerPayment", "startOn", "payPeriodOccurence" ],
  "additionalProperties" : false,
  "links" : [ {
    "rel" : "filter",
    "encType" : "application/x-www-form-urlencoded",
    "method" : "GET",
    "href" : "/payroll-deduction-arrangements/",
    "schema" : {
      "type" : "object",
      "properties" : {
        "person" : {
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        },
        "contribution" : {
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        },
        "deductionType" : {
          "type" : "string",
          "format" : "guid",
          "pattern" : "^[a-f0-9]{8}(?:-[a-f0-9]{4}){3}-[a-f0-9]{12}$"
        },
        "status" : {
          "type" : "string",
          "enum" : [ "active", "suspended", "rejected", "cancelled", "withdrawn", "terminated" ]
        }
      }
    }
  } ]
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy