POST /api/.../workflow
This method allows the caller to create a patron record. This uses the workflow model.
Name | Type | Required | Description |
---|---|---|---|
WorkflowRequest | DtoWorkflowRequest | Yes | Define this parameter in the request body. |
Property | Type | Nullable | Description |
---|---|---|---|
WorkflowRequestType | Int | No | Required. For a patron registration, this must be set to 3. |
TxnBranchID | Int | No | Transacting branch ID. This should represent where the request originated from. Typically the same as the logged on branch, but in the case of offline processing it would be the branch that was logged into during offline processing. |
TxnUserID | Int | No | Transacting Polaris user ID. This should represent who originally created this request. Typically the same as the logged on user, but in the case of offline processing it would be the user that was logged on during offline processing. |
TxnWorkstationID | Int | No | Transacting workstation ID. This should represent where the request originated from. Typically the same as the logged on workstation, but in the case of offline processing it would be the workstation that was logged into during offline processing. |
RequestExtension | DtoWorkflowRequestExtension | No | A patron registration request requires a DtoWorkflowRequestExtension that contains a DtoPatronRegistrationData object. |
WorkflowReplies | List of DtoWorkflowReply | Yes | It is possible to pass in a list of replies for automated processing. |
Property | Type | Nullable | Description |
---|---|---|---|
WorkflowRequestExtensionType | Int | No | For a patron registration request, the extension type must be a 4 (PatronRegistrationData). |
Data | Object | No | This must be an extension data object of type DtoPatronRegistrationData |
Property | Type | Nullable | Description |
---|---|---|---|
Barcode | String | No | Patron's barcode |
PatronCodeID | Int | No | Patron Code ID |
OrganizationID | Int | No | Organization ID of the patron's registered branch |
SystemBlocks | int | Yes | Patron System Block bitmask |
YTDCircCount | int | Yes | Year-to-date circulation count |
LifetimeCircCount | Int | Yes | Lifetime circulation count |
LastActivityDate | String | Yes | Date of last activity |
ClaimCount | Int | Yes | Total number of claimed returned and claimed never had |
LostItemCount | Int | Yes | Total number of lost items |
ChargesAmount | Int | Yes | Total about of charges |
CreditsAmount | Int | Yes | Total amount of credits |
AccruedCharges | Int | Yes | Total amount of accrued charges |
NoticesAddress | String | Yes | Label of which address to send notices to |
DMLID | Int | Yes | Digital media library ID of patron photo. |
Offline | Boolean | Yes | Offline patron registration transaction. Possible values are True or False. |
OfflineTxnDate | DateTime | Yes | Offline patron registration transaction datetime. Expected if Offline is set to True. |
Registration | object | No | A DtoPatronRegistration object |
Property | Type | Nullable | Description |
---|---|---|---|
NameFirst | String | Yes | Required based on SA. Patron first name |
NameLast | String | No | Required. Patron last name |
NameMiddle | String | Yes | Patron middle name |
NameTitle | String | Yes | |
PatronID | Int | Yes | ID of the patron. |
LanguageID | Int | Yes | Language of the patron |
NameSuffix | String | Yes | |
PhoneVoice1 | String | Yes | Patron's first phone number. |
PhoneVoice2 | String | Yes | Patron's second phone number. |
PhoneVoice3 | String | Yes | Patron's third phone number. |
EmailAddress | String | Yes | Patron's email address |
Password | String | Yes | Patron password |
EntryDate | DateTime | Yes | is the date when the record is inserted. |
ExpirationDate | DateTime | No | is the date when the patron's registration expires. |
AddrCheckDate | DateTime | No | |
UpdateDate | DateTime | No | Date when the patron registration is modified. |
User1 | String | Yes | User defined field one. |
User2 | String | Yes | User defined field two |
User3 | String | Yes | User defined field three. |
User4 | String | Yes | User defined field four |
User5 | String | Yes | User defined field five. |
Gender | Integer | Yes | patron's gender. |
Birthdate | DateTime | Yes | Patron birthdate |
RegistrationDate | DateTime | Yes | Date when the patron gets registered. |
FormerID | String | Yes | |
ReadingListEnabled | String | Yes | Denotes whether Polaris will track the items that the patron checks out. |
PhoneFAX | String | Yes | Patron's fax number. |
AltEmailAddress | String | Yes | Secondary patron email address |
SDIEmailAddress | String | Yes | Default Email address to be used for SDI notification. |
SDIPositiveAssent | Boolean | Yes | Indicates that the patron has given permission for the SDI system to record information about their searches. |
ExcludeFromOverdues | Boolean | Yes | Denotes if the patron is to be excluded from overdue notices. |
CollectionExempt | Boolean | Yes | Denotes if the patron is to be excluded from collection reports. |
SDIPositiveAssentDate | Datetime | Yes | |
DeliveryOptionID | Int | Yes | 1 Mail, 2 Email, 3 Telephone 1, 4 Telephone 2, 5 Telephone 3, 6 FAX, 7 EDI |
DeletionExempt | Boolean | Yes | Denotes if the patron is to be excluded from deletion - if this is set, then the patron cannot be deleted. |
ExcludeFromHolds | Boolean | Yes | Indicates whether the patron is to be excluded from hold request notices. |
ExcludeFromBills | Boolean | Yes | Indicates whether the patron is to be excluded from billing notices. |
EmailFormatID | Int | Yes | Is a code which has the patron's default email type, either plain text or html. |
PatronFirstLastName | String | Yes | The Patron's full name, first name first. This field is the Concatenation of NameFirst + " " + NameLast + ", " + NameMiddle. |
PatronFullName | String | Yes | The Patron's full name, last name first. Concatenation of NameLast + ", " + NameFirst + " " + NameMiddle. |
StatisticalClassID | Int | Yes | |
Username | String | Yes | |
MergeDate | DateTime | Yes | Date this patron was merged with another. |
MergeUserID | Int | Yes | Polaris user who did the merge |
MergeBarcode | String | Yes | The barcode of the secondary patron which was merged. |
EnableSMS | Bool | Yes | Indicates whether or not an additional TXT message notice will be sent along with a primary notice. |
Phone1CarrierID | Int | Yes | ID of PhoneVoice1 carrier. References to Polaris.SA_MobilePhoneCarriers. |
Phone2CarrierID | Int | Yes | ID of PhoneVoice2 carrier. References to Polaris.SA_MobilePhoneCarriers. |
Phone3CarrierID | Int | Yes | ID of PhoneVoice3 carrier. References to Polaris.SA_MobilePhoneCarriers. |
eReceiptOptionID | Int | Yes | ID of eReceipt option. Possible values are Email 2, Text Messaging 8, All 100 |
TxtPhoneNumber | Byte | Yes | Indicates which phone number is used for TXT/SMS notification and/or eReceipt. The valid value of this column is 1, 2 or 3 which represents PhoneVoice1, PhoneVoice2 or PhoneVoice3 accordingly. |
Addresses | Array of DtoPatronAddress | Yes | Patron can have multiple addresses |
PatronCustomData | Array of DtoPatronCustomData | Yes | Patron can have multiple custom data fields |
hasPassword | Boolean | Yes | Indicates if password exists for the patron. |
LegalNameFirst | String | Yes | Patron first name. Required if UseLegalNameOnNotices is true. |
LegalNameMiddle | String | Yes | Patron middle name |
LegalNameLast | String | Yes | Patron last name. Required if UseLegalNameOnNotices is true. |
UseLegalNameOnNotices | Boolean | Yes | Use name on identification for print and telephone notices. |
StaffAcceptedUseSingleName | Boolean | No | Staff member accepted Use Single Name Field during patron registration. |
RequestPickupBranchID | Int | Yes | Preferred pickup location branch's ID. |
IncreasedCheckOutLimits | Boolean | No | Is patron allowed to use increased check out limits. |
Property | Type | Nullable | Description |
---|---|---|---|
PatronID | Int | Yes | ID of patron record, internally used, primary key. |
AddressID | Int | Yes | ID of the address. |
AddressTypeID | Int | No | |
AddressTypeDescription | String | Yes | Label for the address type |
AddressLabelID | Int | Yes | Label ID for the address. Not required if AddressLabelDescription is supplied. |
AddressLabelDescription | String | Yes | Label for the address. Not required if AddressLabelID is supplied. |
Verified | Boolean | Yes | |
VerificationDate | Datetime | Yes | |
PolarisUserID | Int | Yes | |
StreetOne | String | No | |
StreetTwo | String | Yes | |
StreetThree | String | Yes | |
MunicipalityName | String | Yes | |
PostalCode | String | No | |
ZipPlusFour | String | Yes | |
City | String | No | |
State | String | No | |
CountryName | String | No | |
County | String | Yes |
Property | Type | Nullable | Description |
---|---|---|---|
PatronDataLabelValue | String | No | Label of the custom data field |
PatronCustomDataDefinitionID | Int | No | |
IsRequired | String | No | Is field required (Yes/No) |
PolarisCustomDataTypeID | Int | No | |
CustomDataEntry | String | Yes | Actual value of the field |
{
"type":"registerpatron",
"WorkflowRequestType":3,
"TxnBranchID":"62",
"TxnUserID":"1",
"TxnWorkstationID":"1177",
"WorkflowReplies":null,
"RequestExtension":
{
"WorkflowRequestExtensionType":4,
"Data":
{
"Barcode":"1234567890",
"PatronCodeID":1,
"OrganizationID":62,
"SystemBlocks":0,
"YTDCircCount":0,
"LifetimeCircCount":0,
"LastActivityDate":null,
"ClaimCount":null,
"LostItemCount":0,
"ChargesAmount":0,
"CreditsAmount":0,
"AccruedCharges":0,
"NoticesAddress":"(None)",
"DMLID":"0",
"Registration":
{
"NameFirst":"John",
"NameLast":"Smith",
"NameMiddle":"",
"NameTitle":"",
"NameSuffix":"",
"LanguageID":1,
"EmailAddress":"",
"AltEmailAddress":"",
"Password":"",
"EntryDate":null,
"ExpirationDate":"2018-10-27T04:00:00.000Z",
"AddrCheckDate":"2016-10-27T04:00:00.000Z",
"UpdateDate":null,
"Gender":1,
"Birthdate":null,
"RegistrationDate":"2015-10-27T04:00:00.000Z",
"FormerID":"",
"eReceiptOptionID":0,
"DeliveryOptionID":1,
"EnableSMS":false,
"Username":"username",
"StatisticalClassID":0,
"Phone1CarrierID":null,
"Phone2CarrierID":null,
"Phone3CarrierID":null,
"PhoneVoice1":"518",
"PhoneVoice2":"",
"PhoneVoice3":"",
"TxtPhoneNumber":"",
"PhoneFAX":"",
"SystemBlocks":0,
"YTDCircCount":0,
"CollectionExempt":false,
"ExcludeFromOverdues":false,
"ExcludeFromHolds":false,
"ExcludeFromBills":false,
"ExcludeFromAlmostOverdueAutoRenew":false,
"ExcludeFromPatronRecExpiration":false,
"ExcludeFromInactivePatron":false,
"EmailFormatID":2,
"ReadingListEnabled":false,
"DeletionExempt":false,
"User1":"(None)",
"User2":"No restrictions",
"User3":"",
"User4":"(None)",
"User5":"Alice",
"LegalNameFirst":"",
"LegalNameMiddle":"",
"LegalNameLast":"",
"UseLegalNameOnNotices":false,
"StaffAcceptedUseSingleName":true,
"RequestPickupBranchID":99,
"IncreasedCheckOutLimits":false,
"Addresses":
[
{
"AddressTypeID":"1",
"AddressLabelDescription":"Home",
"PostalCode":"13078",
"StreetOne":"3033 Yellow Wood Parkway",
"StreetTwo":"",
"StreetThree":"",
"City":"JAMESVILLE",
"State":"NY",
"County":"ONONDAGA",
"CountryID":1,
"AddressID":0,
"CountryName":"USA",
"AddressLabelDescription":"Home",
"MunicipalityName":null,
"PolarisUserID":1,
"VerificationDate":null,
"Verified":false,
"ZipPlusFour":"1234"
}
]
}
}
}
}
{
"type":"registerpatron",
"WorkflowRequestType":3,
"TxnBranchID":"62",
"TxnUserID":"1",
"TxnWorkstationID":"1177",
"WorkflowReplies":null,
"RequestExtension":
{
"WorkflowRequestExtensionType":4,
"Data":
{
"Barcode":"1234567890",
"PatronCodeID":1,
"OrganizationID":62,
"SystemBlocks":0,
"YTDCircCount":0,
"LifetimeCircCount":0,
"LastActivityDate":null,
"ClaimCount":null,
"LostItemCount":0,
"ChargesAmount":0,
"CreditsAmount":0,
"AccruedCharges":0,
"NoticesAddress":"(None)",
"DMLID":"0",
"Offline":"true",
"OfflineTxnDate":"2015-10-21T16:23:36",
"Registration":
{
"NameFirst":"John",
"NameLast":"Smith",
"NameMiddle":"",
"NameTitle":"",
"NameSuffix":"",
"LanguageID":1,
"EmailAddress":"",
"AltEmailAddress":"",
"Password":"",
"EntryDate":null,
"ExpirationDate":"2018-10-27T04:00:00.000Z",
"AddrCheckDate":"2016-10-27T04:00:00.000Z",
"UpdateDate":null,
"Gender":1,
"Birthdate":null,
"RegistrationDate":"2015-10-27T04:00:00.000Z",
"FormerID":"",
"eReceiptOptionID":0,
"DeliveryOptionID":1,
"EnableSMS":false,
"Username":"username",
"StatisticalClassID":0,
"Phone1CarrierID":null,
"Phone2CarrierID":null,
"Phone3CarrierID":null,
"PhoneVoice1":"518",
"PhoneVoice2":"",
"PhoneVoice3":"",
"TxtPhoneNumber":"",
"PhoneFAX":"",
"SystemBlocks":0,
"YTDCircCount":0,
"CollectionExempt":false,
"ExcludeFromOverdues":false,
"ExcludeFromHolds":false,
"ExcludeFromBills":false,
"ExcludeFromAlmostOverdueAutoRenew":false,
"ExcludeFromPatronRecExpiration":false,
"ExcludeFromInactivePatron":false,
"EmailFormatID":2,
"ReadingListEnabled":false,
"DeletionExempt":false,
"User1":"(None)",
"User2":"No restrictions",
"User3":"",
"User4":"(None)",
"User5":"Alice",
"LegalNameFirst":"",
"LegalNameMiddle":"",
"LegalNameLast":"",
"UseLegalNameOnNotices":false,
"Addresses":
[
{
"AddressTypeID":"1",
"AddressLabelDescription":"Home",
"PostalCode":"13078",
"StreetOne":"3033 Yellow Wood Parkway",
"StreetTwo":"",
"StreetThree":"",
"City":"JAMESVILLE",
"State":"NY",
"County":"ONONDAGA",
"CountryID":1,
"AddressID":0,
"CountryName":"USA",
"AddressLabelDescription":"Home",
"MunicipalityName":null,
"PolarisUserID":1,
"VerificationDate":null,
"Verified":false,
"ZipPlusFour":"1234"
}
],
"PatronCustomData":
[
{
"PatronDataLabelValue":"Label",
"PatronCustomDataDefinitionID":8,
"IsRequired":"true",
"PolarisCustomDataTypeID":"2",
"CustomDataEntry":"John Smith"
}
],
}
}
}
}
{
"WorkflowRequestGuid":"3ef2065c-21f0-4743-bff6-3528a5decbd2",
"WorkflowRequestType":3,
"WorkflowStatus":-3,
"Prompt":{
"WorkflowPromptID":44,
"Name":null,
"Description":null,
"WorkflowPromptType":12,
"WorkflowPromptOptions":5,
"DefaultPromptOption":6,
"Title":"Patron registration charge",
"Message":"There is $1.00 charge for registration. Please choose to Pay, Waive or Charge to the account.",
"AlternateYesText":"",
"AlternateNoText":"",
"AlternateCancelText":"",
"AlternateContinueText":"",
"PromptExtension":{
"WorkflowPromptExtensionType":6,
"Data":{
"FeeAmount":1.0000,
"ModifyFineAllowed":true,
"TaxRate": 0.0222,
"StartingTaxAmount": 0.02,
"PatronID":360223
}
}
},
"InformationMessages":[
],
"AnswerExtension":null,
"CircTranType":0,
"ReceiptType":0,
"ReceiptUrl":"",
"FineEReceiptSent":false
}
{
"WorkflowRequestGuid":"3ef2065c-21f0-4743-bff6-3528a5decbd2",
"WorkflowRequestType":3,
"WorkflowStatus":1,
"Prompt":null,
"InformationMessages":[
{
"Type":1,
"Title":"",
"Message":"Registration successful"
}
],
"AnswerExtension":{
"WorkflowAnswerExtensionType":4,
"Data":{
"PatronID":360223,
"DMLID":0,
"OrgID":3,
"StatClassID":0,
"BlocksChanged":false,
"DuplicatePatrons":[
]
}
},
"CircTranType":0,
"ReceiptType":2,
"ReceiptUrl":"receipts/print_payment_receipt?paypatronid=360223&paybranchid=3&payuserid=1&ccpayment=true&ccType=&ccAmount=1.1&ccAuthNo=&ccTxnID=4400&ccProcFee=0.1&ccNumber=XXXXXXXXXXXXXXXX&loginbranchid=3&languageid=1033&billedlost=false&txnid=3706186&waiveonly=false",
"FineEReceiptSent":true
}
{
"WorkflowRequestGuid": "00000000-0000-0000-0000-000000000000",
"WorkflowRequestType": 3,
"WorkflowStatus": 1,
"Prompt": null,
"InformationMessages": [
{
"Type": 4,
"Title" : "",
"Message": "Patron Registration fee $2.00 charged to patron account."
},
{
"Type": 4,
"Title": "",
"Message": "Invalid barcode type: XXOFFLUPLOAD6"
},
{
"Type": 1,
"Title": "",
"Message": "Registration successful"
}
],
"AnswerExtension": {
"WorkflowAnswerExtensionType": 4,
"Data": {
"PatronID": 359009,
"DMLID": 0,
"OrgID": 3,
"StatClassID":0,
"BlocksChanged": false,
"DuplicatePatrons": [
{
"PatronID": 358750,
"PatronName": "2345, 2345245",
"Barcode": "23452435232",
"Street": null,
"City": null,
"PostalCode": null,
"Phone": null,
"Email": null,
"BirthDate": null,
"BranchID": 3,
"BranchName": "Amsterdam Free Library",
"BranchAbr": "AMS",
"User1": "999999",
"User2": "No restrictions",
"User3": null,
"User4": null,
"User5": "Marcia"
},
{
"PatronID": 358732,
"PatronName": "23452435, 23452345",
"Barcode": "243562435",
"Street": null,
"City": null,
"PostalCode": null,
"Phone": null,
"Email": null,
"BirthDate": null,
"BranchID": 3,
"BranchName": "Amsterdam Free Library",
"BranchAbr": "AMS",
"User1": "999999",
"User2": "No restrictions",
"User3": null,
"User4": null,
"User5": "Marcia"
},
]
}
},
"CircTranType": 0,
"ReceiptType": 0,
"ReceiptUrl": "",
"FineEReceiptSent":false
}
{
"WorkflowPromptID":44,
"WorkflowPromptResult":6,
"ReplyValue":"1.00",
"ReplyExtension":{
"WorkflowReplyExtensionType":2,
"Data":{
"PaymentMethod":12,
"Note":"",
"PaidAmount":1,
"ProcessedCreditCard":true,
"CreditDuePatron":0,
"ReturnReceiptUrl":true,
"CreditCardPaymentData":{
"TrackId":4016,
"Guid":"7387fbf2-553c-4fe1-a4dd-3d805975",
"VendorId":0,
"BaseAddress":null,
"CustomerID":null,
"TerminalID":null,
"UserName":null,
"Password":null,
"Amount":1.1,
"PatronID":null,
"Language":null,
"Result":0,
"TrackNumber":null,
"Error":"OK",
"TxnStatus":"Finished",
"TroutId":"TROUTD",
"CCDigits":"XXXX",
"CCType":"????",
"AuthCode":null,
"Request":"",
"Response":"\r\nSuccess TROUTD OK XXXX ???? \r\n",
"ILSStoreTransactionId":4400,
"ProcessingFee":0.1
}
}
}
}