Skip to content

Location information for bib records with items with in temporary locations

Christina Chortaria edited this page Aug 19, 2021 · 8 revisions

The examples below are based on the information that @christinach posted on basecamp. See also ticket #1190

Case 1: only one item and it's in a temp location

  • mms id: 9929723813506421
  • title: "Musicals : Hollywood and beyond"
  • temp location: ETAS
  • perm location: firestone

API /bibs?mms_id=X returns one AVA field

  • The AVA field is for the temp location (ETAS)
  • without subfield 8 indicating the holding_id for the permanent location (firestone).

NOTE: For Orangelight this is enough, right? The user only cares about the actual location, in this case ETAS.

https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs?mms_id=9929723813506421&view=full&expand=p_avail%2Ce_avail&apikey=YOUR-KEY

{
  "bib": [
    {
      "mms_id": "9929723813506421",
      "title": "Musicals : Hollywood and beyond /",
      "author": "Marshall, Bill,",
      "holdings": {
        "value": null,
        "link": "https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9929723813506421/holdings"
      },
      "anies": [
        "<?xml version=\"1.0\" encoding=\"UTF-16\"?><record>\n
        <leader>01080cam a2200265 a 4500</leader>\n
        ...
        <datafield ind1=\" \" ind2=\" \" tag=\"INT\"><subfield code=\"a\">P</subfield></datafield>
        <datafield ind1=\" \" ind2=\" \" tag=\"INST\"><subfield code=\"a\">01PRI_INST</subfield></datafield>
        <datafield ind1=\" \" ind2=\" \" tag=\"AVA\">
            <subfield code=\"0\">9929723813506421</subfield>
            <subfield code=\"a\">01PRI_INST</subfield>
            <subfield code=\"b\">online</subfield>
            <subfield code=\"c\">ETAS</subfield>
            <subfield code=\"d\">PN1995.9.M86 M874 2000</subfield>
            <subfield code=\"e\">available</subfield>
            <subfield code=\"f\">1</subfield>
            <subfield code=\"g\">0</subfield>
            <subfield code=\"j\">etas</subfield>
            <subfield code=\"k\">0</subfield>
            <subfield code=\"p\">1</subfield>
            <subfield code=\"q\">Electronic Access</subfield>
        </datafield></record>"
      ],
      "requests": null,
      "link": null
    }
  ],
  "total_record_count": 1
}

API /bibs/{mms_id}/holdings

  • returns one holding, the one for the perm location (firestone) and
  • no indication of a temporary location.

NOTE: For Orangelight this bad, right? The user only cares about the actual location (ETAS) but we only get the permanent location (firestone).

https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9929723813506421/holdings?apikey=YOUR-KEY

{
  "holding": [
    {
      "holding_id": "22159277990006421",
      "library": {
        "value": "firestone",
        "desc": "Firestone Library"
      },
      "location": {
        "value": "stacks",
        "desc": "stacks: Firestone Library"
      },
      "call_number": "PN1995.9.M86 M874 2000",
      "suppress_from_publishing": "false",
      "link": "https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9929723813506421/holdings/22159277990006421"
    }
  ],
  "bib_data": {
    "title": "Musicals : Hollywood and beyond /",
    "author": "Marshall, Bill,",
    "isbn": "1841500038 (pbk.)",
    "publisher": "Intellect,",
    "mms_id": "9929723813506421",
    ...
  },
  "total_record_count": 1
}

API /holdings/{holding_id} provides no better info

  • the 852 is for the permanent location (firestone)
  • And there is no indication of a temporary location
https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9929723813506421/holdings/22159277990006421?apikey=YOUR-KEY

{
  "holding_id": "22159277990006421",
  "created_by": "import",
  "created_date": "2020-12-02Z",
  "originating_system": "ILS",
  "originating_system_id": "3287767-princetondb",
  "suppress_from_publishing": "false",
  "anies": [
    "<?xml version=\"1.0\" encoding=\"UTF-16\"?><record>\n
    <leader>00238cx  a2200109z  4500</leader>\n
    <controlfield tag=\"001\">3287767</controlfield>\n
    <controlfield tag=\"004\">2972381</controlfield>\n
    <controlfield tag=\"005\">20000726141316.0</controlfield>\n
    <controlfield tag=\"008\">0006132u    0   1001uu   0000000</controlfield>\n
    <datafield ind1=\"1\" ind2=\" \" tag=\"014\">\n
        <subfield code=\"a\">CPL8683TS001</subfield>\n
    </datafield>\n
    <datafield ind1=\"0\" ind2=\" \" tag=\"014\">\n
        <subfield code=\"9\">003287767</subfield>\n
    </datafield>\n
    <datafield ind1=\"0\" ind2=\"0\" tag=\"852\">\n
        <subfield code=\"b\">firestone</subfield>\n
        <subfield code=\"c\">stacks</subfield>\n
        <subfield code=\"h\">PN1995.9.M86</subfield>\n
        <subfield code=\"i\">M874 2000</subfield>\n
    </datafield>\n  </record>"
  ]
}

API /holdings/{holding_id}/items provides very good info

  • the holding data now indicates that it is in a temporary library (online) and location (ETAS)
  • the item data points to the permanent location (firestone)

Notice that at this point the "holding_data" has the temporary info but that was not the case when we called the /holdings/{holding_id endpoint.

https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9929723813506421/holdings/22159277990006421/items?limit=10&offset=0&order_by=none&direction=desc&view=brief&apikey=YOUR-KEY


{
  "item": [
    {
      "bib_data": {
        "mms_id": "9929723813506421",
        "title": "Musicals : Hollywood and beyond /",
        "author": "Marshall, Bill,",
        ...
        "link": "https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9929723813506421"
      },
      "holding_data": {
        "holding_id": "22159277990006421",
        ...
        "call_number": "PN1995.9.M86 M874 2000",
        "accession_number": "",
        "copy_id": "1",
        "in_temp_location": true,
        "temp_library": {
          "value": "online",
          "desc": "Electronic Access"
        },
        "temp_location": {
          "value": "etas",
          "desc": "ETAS Non Circulating"
        },
        "temp_call_number_type": {
          "value": "",
          "desc": null
        },
        "temp_call_number": "",
        "temp_policy": {
          "value": "",
          "desc": null
        },
        "link": "https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9929723813506421/holdings/22159277990006421"
      },
      "item_data": {
        "pid": "23159277970006421",
        "barcode": "32101039113301",
        "creation_date": "2020-12-02Z",
        "modification_date": "2020-12-02Z",
        ...
        "library": {
          "value": "firestone",
          "desc": "Firestone Library"
        },
        "location": {
          "value": "stacks",
          "desc": "stacks: Firestone Library"
        },
      },
      "link": "https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9929723813506421/holdings/22159277990006421/items/23159277970006421"
    }
  ],
  "total_record_count": 1
}

Case 2: some items in temporary location others in their permanent location

  • mms id: 9930823573506421
  • title: "Nan ji zhi : Jiangsu sheng"

There is just one holding with 6 items for this MMS ID:

  • Five of those items are in temporary location ETAS (with permanent location ReCAP/PA)
  • One of those items is in its permanent location (ReCAP/PA) -- i.e. it's not in a temporary location.

API /bibs?mms_id=X returns two AVA fields

  • One AVA for the temp location (ETAS) without a subfield 8 pointing to the holding_id of the permanent location.
  • One AVA for perm location (ReCAP) with the proper holding_id (22100002150006421) in subfield 8.

NOTE: For Orangelight this is enough, right? The user only cares about the actual locations, in this case ETAS and ReCAP.

https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs?mms_id=9930823573506421&view=full&expand=p_avail%2Ce_avail&apikey=YOUR-KEY


{
  "bib": [
    {
      "mms_id": "9930823573506421",
      "title": "Nan ji zhi : Jiangsu sheng /",
      "author": "Wen, Renquan.",
      "holdings": {
        "value": null,
        "link": "https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9930823573506421/holdings"
      },
      "anies": [
        "<?xml version=\"1.0\" encoding=\"UTF-16\"?><record>\n
        <leader>01443cam a2200361 a 4500</leader>\n
        ...
        <datafield ind1=\" \" ind2=\" \" tag=\"INT\"><subfield code=\"a\">P</subfield></datafield>
        <datafield ind1=\" \" ind2=\" \" tag=\"INST\"><subfield code=\"a\">01PRI_INST</subfield></datafield>
        <datafield ind1=\" \" ind2=\" \" tag=\"AVA\">
            <subfield code=\"0\">9930823573506421</subfield>
            <subfield code=\"a\">01PRI_INST</subfield>
            <subfield code=\"b\">online</subfield>
            <subfield code=\"c\">ETAS Non Circ ReCAP</subfield>
            <subfield code=\"d\">DS793 .C48 vol.452</subfield>
            <subfield code=\"e\">available</subfield>
            <subfield code=\"f\">5</subfield>
            <subfield code=\"g\">0</subfield>
            <subfield code=\"j\">etasrcp</subfield>
            <subfield code=\"k\">0</subfield>
            <subfield code=\"p\">1</subfield>
            <subfield code=\"q\">Electronic Access</subfield>
        </datafield>
        <datafield ind1=\" \" ind2=\" \" tag=\"AVA\">
            <subfield code=\"0\">9930823573506421</subfield>
            <subfield code=\"8\">22100002150006421</subfield>
            <subfield code=\"a\">01PRI_INST</subfield>
            <subfield code=\"b\">recap</subfield>
            <subfield code=\"c\">Remote Storage</subfield>
            <subfield code=\"d\">DS793 .C48 vol.452</subfield>
            <subfield code=\"e\">available</subfield>
            <subfield code=\"f\">1</subfield>
            <subfield code=\"g\">0</subfield>
            <subfield code=\"j\">pa</subfield>
            <subfield code=\"k\">0</subfield>
            <subfield code=\"p\">2</subfield>
            <subfield code=\"q\">ReCAP</subfield>
            <subfield code=\"t\">Pt.1-pt.6</subfield>
        </datafield></record>"
      ],
      "requests": null,
      "link": null
    }
  ],
  "total_record_count": 1
}

API /bibs/{mms_id}/holdings

  • returns just one holding, which is correct since all 6 items for this record are on the same holding.
  • that holding's permanent location is (ReCAP)
  • but there is no indication at all that some items are in a temporary location (ETAS)

NOTE: For Orangelight this bad, right? There is now way to tell the user about the item that they can access in ETAS. They will only know about ReCAP.

https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9930823573506421/holdings?apikey=YOUR-KEY


{
  "holding": [
    {
      "holding_id": "22100002150006421",
      "library": {
        "value": "recap",
        "desc": "ReCAP"
      },
      "location": {
        "value": "pa",
        "desc": "rcppa: RECAP"
      },
      "call_number": "DS793 .C48 vol.452",
      "suppress_from_publishing": "false",
      "link": "https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9930823573506421/holdings/22100002150006421"
    }
  ],
  "bib_data": {
    "title": "Nan ji zhi : Jiangsu sheng /",
    "author": "Wen, Renquan.",
    "publisher": "Cheng wen chu ban she,",
    "mms_id": "9930823573506421",
  },
  "total_record_count": 1
}

API /holdings/{holding_id} provides no better info since the holding data only mentions the permanent location (ReCAP)

https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9930823573506421/holdings/22100002150006421?apikey=YOUR-KEY

{
  "holding_id": "22100002150006421",
  "created_by": "import",
  "created_date": "2020-12-02Z",
  "originating_system": "ILS",
  "originating_system_id": "3396016-princetondb",
  "suppress_from_publishing": "false",
  "anies": [
    "<?xml version=\"1.0\" encoding=\"UTF-16\"?><record>\n
    <leader>00280cv  a2200121m  4500</leader>\n
    <controlfield tag=\"001\">3396016</controlfield>\n
    <controlfield tag=\"004\">3082357</controlfield>\n
    <controlfield tag=\"005\">20060811131844.0</controlfield>\n
    <controlfield tag=\"008\">921027||    |   |   ||chi       </controlfield>\n
    <datafield ind1=\"1\" ind2=\" \" tag=\"014\">\n
        <subfield code=\"a\">AAC1717EA001</subfield>\n
    </datafield>\n
    <datafield ind1=\"0\" ind2=\" \" tag=\"014\">\n
        <subfield code=\"9\">003396016</subfield>\n
    </datafield>\n
    <datafield ind1=\"0\" ind2=\" \" tag=\"852\">\n
        <subfield code=\"b\">recap</subfield>\n
        <subfield code=\"c\">pa</subfield>\n
        <subfield code=\"h\">DS793</subfield>\n
        <subfield code=\"i\">.C48 vol.452</subfield>\n
        <subfield code=\"x\">tr fr gest cjk</subfield>\n
    </datafield>\n
    <datafield ind1=\" \" ind2=\"0\" tag=\"866\">\n
        <subfield code=\"a\">Pt.1-pt.6</subfield>\n
    </datafield>\n  </record>"
  ]
}

API /holdings/ALL/items provides very good info

  • Five of the items point to temporary location (online/ETAS) and one of them points to permanent location (ReCAP/PA)
  • the item data points to the permanent location (ReCAP/PA) in all of these instances.

Notice that at this point the "holding_data" for each item has the temporary info but that was not the case when we called the /holdings/{holding_id endpoint.

Calling the API with the individual holding_id (i.e. bibs/9930823573506421/holdings/22100002150006421/items) will also return all the items (with permanent and temporary locations) in this case since they all belong to the same holding_id

https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9930823573506421/holdings/ALL/items?limit=10&offset=0&order_by=none&direction=desc&view=brief&apikey=YOUR-KEY


{
  "item": [
    {
      "bib_data": {
        "mms_id": "9930823573506421",
        "title": "Nan ji zhi : Jiangsu sheng /",
        "author": "Wen, Renquan."
      },
      "holding_data": {
        "holding_id": "22100002150006421",
        "call_number": "DS793 .C48 vol.452",
        "in_temp_location": false,
        "temp_library": {
          "value": null,
          "desc": null
        },
        "temp_location": {
          "value": null,
          "desc": null
        },
        "link": "https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9930823573506421/holdings/22100002150006421"
      },
      "item_data": {
        "pid": "23100002140006421",
        "barcode": "32101061662795",
        "creation_date": "2020-12-02Z",
        "modification_date": "2021-04-20Z",
        "library": {
          "value": "recap",
          "desc": "ReCAP"
        },
        "location": {
          "value": "pa",
          "desc": "rcppa: RECAP"
        },
      },
      "link": "https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9930823573506421/holdings/22100002150006421/items/23100002140006421"
    },
    {
      "bib_data": {
        "mms_id": "9930823573506421",
        "title": "Nan ji zhi : Jiangsu sheng /",
        "author": "Wen, Renquan."
      },
      "holding_data": {
        "holding_id": "22100002150006421",
        "call_number": "DS793 .C48 vol.452",
        "in_temp_location": true,
        "temp_library": {
          "value": "online",
          "desc": "Electronic Access"
        },
        "temp_location": {
          "value": "etasrcp",
          "desc": "ETAS Non Circ ReCAP"
        },
        "link": "https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9930823573506421/holdings/22100002150006421"
      },
      "item_data": {
        "pid": "23100002130006421",
        "barcode": "32101061662787",
        "library": {
          "value": "recap",
          "desc": "ReCAP"
        },
        "location": {
          "value": "pa",
          "desc": "rcppa: RECAP"
        },
      },
      "link": "https://api-na.hosted.exlibrisgroup.com/almaws/v1/bibs/9930823573506421/holdings/22100002150006421/items/23100002130006421"
    },
    {
      "bib_data": {
        "mms_id": "9930823573506421",
        "title": "Nan ji zhi : Jiangsu sheng /",
      },
      "holding_data": {
        "holding_id": "22100002150006421",
        "call_number": "DS793 .C48 vol.452",
        "in_temp_location": true,
        "temp_library": {
          "value": "online",
          "desc": "Electronic Access"
        },
        "temp_location": {
          "value": "etasrcp",
          "desc": "ETAS Non Circ ReCAP"
        },
      },
      "item_data": {
        "pid": "23100002120006421",
        "barcode": "32101061662761",
        "library": {
          "value": "recap",
          "desc": "ReCAP"
        },
        "location": {
          "value": "pa",
          "desc": "rcppa: RECAP"
        },
    },
    {
      "bib_data": {
        "mms_id": "9930823573506421",
        "title": "Nan ji zhi : Jiangsu sheng /",
        "author": "Wen, Renquan.",
      },
      "holding_data": {
        "holding_id": "22100002150006421",
        "call_number": "DS793 .C48 vol.452",
        "in_temp_location": true,
        "temp_library": {
          "value": "online",
          "desc": "Electronic Access"
        },
        "temp_location": {
          "value": "etasrcp",
          "desc": "ETAS Non Circ ReCAP"
        },
      },
      "item_data": {
        "pid": "23100002110006421",
        "barcode": "32101061662779",
        "library": {
          "value": "recap",
          "desc": "ReCAP"
        },
        "location": {
          "value": "pa",
          "desc": "rcppa: RECAP"
        },
    },
    {
      "bib_data": {
        "mms_id": "9930823573506421",
        "title": "Nan ji zhi : Jiangsu sheng /",
        "author": "Wen, Renquan.",
      },
      "holding_data": {
        "holding_id": "22100002150006421",
        "call_number": "DS793 .C48 vol.452",
        "in_temp_location": true,
        "temp_library": {
          "value": "online",
          "desc": "Electronic Access"
        },
        "temp_location": {
          "value": "etasrcp",
          "desc": "ETAS Non Circ ReCAP"
        },
      },
      "item_data": {
        "pid": "23100002100006421",
        "barcode": "32101061662753",
        "library": {
          "value": "recap",
          "desc": "ReCAP"
        },
        "location": {
          "value": "pa",
          "desc": "rcppa: RECAP"
        },
    },
    {
      "bib_data": {
        "mms_id": "9930823573506421",
        "title": "Nan ji zhi : Jiangsu sheng /",
        "author": "Wen, Renquan.",
      },
      "holding_data": {
        "holding_id": "22100002150006421",
        "call_number": "DS793 .C48 vol.452",
        "in_temp_location": true,
        "temp_library": {
          "value": "online",
          "desc": "Electronic Access"
        },
        "temp_location": {
          "value": "etasrcp",
          "desc": "ETAS Non Circ ReCAP"
        },
      },
      "item_data": {
        "pid": "23100002090006421",
        "barcode": "32101061662746",
        "library": {
          "value": "recap",
          "desc": "ReCAP"
        },
        "location": {
          "value": "pa",
          "desc": "rcppa: RECAP"
        },
    }
  ],
  "total_record_count": 6
}