Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Planned changes in

...

Circulation request DB schema

Current DB record structure (segments

...

to be removed

...

are in orange)Proposed DB record structure (segments to be added are in green)

{

...

  "id": "9c8583f1-8631-4194-a477-572d342cdd4d",

...

  "item": {

...

    "title": "A semantic web primer",

...

    "barcode": "10101",

...

    "identifiers": [

...

      {

...

        "value": "0262012103",

...

        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"

...

      },

...

      {

...

        "value": "9780262012102",

...

        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"

...

      },

...

      {

...

        "value": "2003065165",

...

        "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"

...

      }

...

    ]

...

  },

...

  "itemId": "7212ba6a-8dcf-45a1-be9a-ffaa847c4423",

...

  "status": "Open - Not yet filled",

...

  "metadata": {

...

    "createdDate": "2021-09-09T13:14:43.756",

...

    "updatedDate": "2021-09-09T13:14:43.756+00:00",

...

    "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f",

...

    "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"

...

  },

...

  "position": 1,

...

  "requester": {

...

    "barcode": "10001",

...

    "lastName": "Kurash",

...

    "firstName": "Alexander"

...

  },

...

  "requestDate": "2021-09-09T13:14:41.000+00:00",

...

  "requestType": "Hold",

...

  "requesterId": "27bc1f87-8c08-437a-be09-1df885262497",

...

  "fulfilmentPreference": "Hold Shelf",

...

  "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f"
}

...

{

...

  "id": "9c8583f1-8631-4194-a477-572d342cdd4d",
  "requestLevel": "Item",

...

  "instanceId": "5bf370e0-8cca-4d9c-82e4-5170ab2a0a39",

...

  "instance": {

...

    "title": "A semantic web primer",

...

    "identifiers": [

...

      {

...

        "value": "0262012103",

...

        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"

...

      },

...

      {

...

        "value": "9780262012102",

...

        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"

...

      },

...

      {

...

        "value": "2003065165",

...

        "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"

...

      }

...

    ]

...

  },

...

  "

...

holdingsRecordId":

...

    "barcode": "10101"

  },

...

"dc8ff78d-6bf0-406a-95e2-be3782357535",
  "itemId": "7212ba6a-8dcf-45a1-be9a-ffaa847c4423",

...

  "item": {
    "barcode": "10101"
  },
  "status": "Open - Not yet filled",

...

  "metadata": {

...

    "createdDate": "2021-09-09T13:14:43.756",

...

    "updatedDate": "2021-09-09T13:14:43.756+00:00",

...

    "createdByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f",

...

    "updatedByUserId": "c2d3902a-3454-50ea-998f-42897e32ac5f"

...

  },

...

  "position": 1,

...

  "requester": {

...

    "barcode": "10001",

...

    "lastName": "Kurash",

...

    "firstName": "Alexander"

...

  },

...

  "requestDate": "2021-09-09T13:14:41.000+00:00",

...

  "requestType": "Hold",

...

  "requesterId": "27bc1f87-8c08-437a-be09-1df885262497",

...

  "fulfilmentPreference": "Hold Shelf",

...

  "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f"
}

Planned API changes

API endpoint: /circulation/requests

Note that item field has some additional instance-related values that will also be moved to the instance field.

Current JSON structure (segments

...

to be removed are

...

in orange)Proposed JSON structure (segments to be added are in green)


{

...

  "id": "d0f032db-9579-443e-a2ac-6add937f4aa2",

...

  "requestType": "Hold",

...

  "requestDate": "2021-09-06T15:37:55.000+00:00",

...

  "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599",

...

  "itemId": "100d10bf-2f06-4aa0-be15-0b95b2d9f9e3",

...

  "status": "Open - Not yet filled",

...

  "item": {

...

    "title": "A semantic web primer",

...

    "barcode": "90000",

...

    "identifiers": [
      {

...

        "value": "0262012103",

...

        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"

...

      },
      {

...

        "value": "9780262012102",

...

        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"

...

      },
      {

...

        "value": "2003065165",

...

        "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"

...

      }
    ],

...

    "holdingsRecordId": "e3ff6133-b9a2-4d4c-a1c9-dc1867d4df19",

...

    "instanceId": "5bf370e0-8cca-4d9c-82e4-5170ab2a0a39",

...

    "location": {

...

      "name": "Annex",

...

      "libraryName": "Datalogisk Institut",

...

      "code": "KU/CC/DI/A"

...

    },

...

    "contributorNames": [
      {

...

        "name": "Antoniou, Grigoris"

...

      },
      {

...

        "name": "Van Harmelen, Frank"

...

      }
    ],

...

    "enumeration": "",

...

    "status": "Checked out",

...

    "callNumber": "TK5105.88815 . A58 2004 FT MEADE",

...

    "callNumberComponents": {

...

      "callNumber": "TK5105.88815 . A58 2004 FT MEADE"

...

    }

...

  },

...

  "requester": {

...

    "lastName": "morty",

...

    "firstName": "panic",

...

    "barcode": "456",

...

    "patronGroupId": "3684a786-6671-4268-8ed0-9db82ebca60b"

...

  },

...

  "fulfilmentPreference": "Hold Shelf",

...

  "pickupServicePointId": "c4c90014-c8c9-4ade-8f24-b5e313319f4b",

...

  "metadata": {

...

    "createdDate": "2021-09-06T15:37:56.188+00:00",

...

    "createdByUserId": "226dfeeb-0264-57fc-afcd-d5df2d705dd5",

...

    "updatedDate": "2021-09-06T15:37:56.188+00:00",

...

    "updatedByUserId": "226dfeeb-0264-57fc-afcd-d5df2d705dd5"

...

  },

...

  "position": 1,

...

  "loan": {

...

    "dueDate": "2021-09-06T16:36:56.029Z"

...

  },

...

  "pickupServicePoint": {

...

    "name": "Circ Desk 2",

...

    "code": "cd2",

...

    "discoveryDisplayName": "Circulation Desk -- Back Entrance",

...

    "description": null,

...

    "shelvingLagTime": null,

...

    "pickupLocation": true

...

  }
}

...


{

...

  "id": "d0f032db-9579-443e-a2ac-6add937f4aa2",
  "requestLevel": "Item",

...

  "requestType": "Hold",

...

  "requestDate": "2021-09-06T15:37:55.000+00:00",

...

  "requesterId": "bec20636-fb68-41fd-84ea-2cf910673599",

...

  "status": "Open - Not yet filled",

...

  "instanceId": "5bf370e0-8cca-4d9c-82e4-5170ab2a0a39",

...

  "instance": {

...

    "title": "A semantic web primer",

...

    "identifiers": [

...

      {

...

        "value": "0262012103",

...

        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"

...

      },

...

      {

...

        "value": "9780262012102",

...

        "identifierTypeId": "8261054f-be78-422d-bd51-4ed9f33c3422"

...

      },

...

      {

...

        "value": "2003065165",

...

        "identifierTypeId": "c858e4f2-2b6b-4385-842b-60732ee14abb"

...

      }

...

    ],

...

    "contributorNames": [
      {

...

        "name": "Antoniou, Grigoris"

...

      },
      {

...

        "name": "Van Harmelen, Frank"
      }
    ],

    "publication":  [ 
      {
        "publisher": "Shaker Verlag",

        "place": "Aachen",

        "dateOfPublication": "2017",

        "role": null
      } 
     ],

     "editions":  [ 
        "First edition", "Revised edition, 2005" 
    

...

]

  },

...

  },
  "holdingsRecordId": "dc8ff78d-6bf0-406a-95e2-be3782357535",
  "itemId": "100d10bf-2f06-4aa0-be15-0b95b2d9f9e3",

...

  "item": {

...

    "barcode": "90000",

...

    "holdingsRecordId": "e3ff6133-b9a2-4d4c-a1c9-dc1867d4df19",

...

    "location": {

...

      "name": "Annex",

...

      "libraryName": "Datalogisk Institut",

...

      "code": "KU/CC/DI/A"

...

    },

...

    "enumeration": "",

...

    "status": "Checked out",

...

    "callNumber": "TK5105.88815 . A58 2004 FT MEADE",

...

    "callNumberComponents": {

...

      "callNumber": "TK5105.88815 . A58 2004 FT MEADE"

...

    }

...

  },

...

  "requester": {

...

    "lastName": "morty",

...

    "firstName": "panic",

...

    "barcode": "456",

...

    "patronGroupId": "3684a786-6671-4268-8ed0-9db82ebca60b"

...

  },

...

  "fulfilmentPreference": "Hold Shelf",

...

  "pickupServicePointId": "c4c90014-c8c9-4ade-8f24-b5e313319f4b",

...

  "metadata": {

...

    "createdDate": "2021-09-06T15:37:56.188+00:00",

...

    "createdByUserId": "226dfeeb-0264-57fc-afcd-d5df2d705dd5",

...

    "updatedDate": "2021-09-06T15:37:56.188+00:00",

...

    "updatedByUserId": "226dfeeb-0264-57fc-afcd-d5df2d705dd5"

...

  },

...

  "position": 1,

...

  "loan": {

...

    "dueDate": "2021-09-06T16:36:56.029Z"

...

  },

...

  "pickupServicePoint": {

...

    "name": "Circ Desk 2",

...

    "code": "cd2",

...

    "discoveryDisplayName": "Circulation Desk -- Back Entrance",

...

    "description": null,

...

    "shelvingLagTime": null,

...

    "pickupLocation": true
  }

  }

}


Proposed JSON structure for request from UI side

Code Block
{
    "id": "df45dc97-32c9-458f-9b32-2c1ea8e73159",
    "requestLevel": "Item",
    "requestType": "Hold",
    "fulfilmentPreference": "Hold Shelf",
    "item": {
        "barcode": "90000"
    },
    "itemId": "100d10bf-2f06-4aa0-be15-0b95b2d9f9e3",
    "requester": {
        "barcode": "11111"
    },
    "requestDate": "2021-10-19T12:54:47Z",
    "requesterId": "503ea8a5-fdd0-4c7a-b38d-9bdf2368f869",
    "pickupServicePointId": "3a40852d-49fd-4df2-a1f9-6e2641a6e91f",
    "instanceId": "5bf370e0-8cca-4d9c-82e4-5170ab2a0a39"
}