Call numbers in Voyager

I'm running into occasional issues when using Zotero with the UCLA catalog online (, which is a Voyager system, and Zotero uses the Voyager translator. Specifically, when I save a book listing from the catalog, Zotero often pulls an incorrect call number. According to the library catalogers, this is because the call number in the primary MARC record is the LoC call number, and the UCLA call number, when it differs, is stored in the holdings record.

To quote the cataloger who kindly described what's going on:
"Essentially, the call number in the *bibliographic* record (which is where Zotero appears be looking) is the call number assigned by the Library of Congress. For various reasons (if you are interested, I can go into more detail), we at UCLA may have chosen to use a different call number-- or, often we will catalog something that has not been cataloged by the Libary of Congress at all. The call number that we use at UCLA is in a holdings record (which is also a MARC record, but a different kind of MARC record) that is linked to the bibliographic record, and is specific to the particular location at UCLA. Sometimes if UCLA has more than one copy of something at different locations, there will be multiple holdings records and the call number may vary within UCLA locations. So the only accurate source of the call number is a holdings record."

I would like to have Zotero pull the call number actually in use at UCLA, so that I can then go and pull the book off the shelf.

The cataloger offered the following attempts to solve this:
"(1) Is it possible to use the e-mailing function in the OPAC to send the records to yourself and then manipulate them in some way using Zotero?? Because whatever is used in the e-mail function does capture the UCLA call numbers and locations.
(2) See if Zotero can be modified in some way to capture call numbers from holdings records???"

One example of this issue is Joseph Mozur's _Parables from the past : the prose
fiction of Chingiz Aitmatov_, published 1995. The correct call number,
displayed in the catalog, is: PL65.K5 A31Zm2 1995. However, if you
look at the MARC record, the call number is listed in Zotero as PL44.9.A36 Z78
1995. See this link to replicate the issue:,3&Search_Arg=joseph%20mozur&Search_Code=GKEY^&SL=None&CNT=50&PID=JzexI5t2VyQBmSFWTvhJ8JpDPUMu&SEQ=20091024221858&SID=1

I imagine that this issue is common to all, or at least many, libraries that use Voyager catalogs, and it is difficult to identify, because Zotero does in fact pull a call number, it's just not reliably the one you need.
  • From looking a little at other Voyager systems, this issue appears to affect all Voyager-based catalogs-- Zotero uses the MARC bibliographic record to pull call numbers, rather than the associated MARC holdings records. This causes problems whenever the library in question has assigned a call number that differs from the LoC call number in the bibliographic record.

    I suppose it is an open question as to which call number _should_ be pulled by Zotero, but I'd prefer the holdings record call number, since there's no guarantee that the LoC call number, as listed in the bibliographic record, will point to the actual book. Then again, there's absolutely no reason to expect that the local library's call number would be of use to other scholars in other libraries if it differs from the LoC-assigned number.
  • Can anyone shed light on this? Is there a way to have Zotero use the MARC holdings record?
  • Out of curiousity, has anybody worked out a way to do this in the past two years? It is, obviously, an issue of only minor annoyance.
  • It should be working correctly now, pulling the holdings number. Works for me at UCLA, at least.
  • Hmmm. It doesn't work for me on the University of Cambridge catalogue ( which uses a system as described above. See, for instance,

    It doesn't seem to be working consistently for me in the UCLA catalogue, either-- it seems to be fine when the call number is in the 050 of the Bib record; however, when it's in the 090 of the record it only takes the part that's in the $a, and leaves out the $b. For instance, in this record it's showing the call number as PQ2668.077, but ignoring the Z7 2004 which is in the 090 $b.

    I'm using Zotero 2.1.10, which seems to be the most recent version.

    I find it easy to tell with the Cambridge catalogue where Zotero is getting the classmark from, as Cambridge doesn't use the Library of Congress Classification system, which is what's in the 050 field. The Cambridge classification number is never in the bib record, only the holdings record.
  • Oh, and I should say, thanks for the prompt response on a 2 year old thread. I really didn't expect to see a response before lunch!
  • So I'll add the 948 field to the MARC importer, and add the $b subfield for the 090 field as well.

    Thanks for pointing this out and for finding the underlying cause.
  • Which of the subfields for 948 do you need? I see |a 20110907 |b jch70 |c ULCAT-h |d c -- I'm inclined to use just $a, but you know better.
  • Please go to and save the file to the translators directory of your Zotero data directory (

    It should start working. If this works for you, please post here so that I can submit this change to be pushed to all users.
  • edited November 30, 2011
    You don't want the 948 field. That's a locally defined field (by each library) that's part of the Bib record-- in the case of Cambridge, it records the person who catalogued this book (me). Ie, 20110907 means I catalogued it on Sept. 7; jch70 is my user name; and ULCAT-h is the department I work in.

    The classmark/call number in the cambridge system (and I suspect the UCLA system*) comes from the 852 field in the holdings record (subfield $h, I think). I don't think the holdings record is actually public-- the MARC view/staff view doesn't show the holdings record.

    It is displayed in the holdings information, but simply visible for the online interface. But Zotero isn't scraping the page for this information, is it? It's actually parsing the MARC record, right? In which case, I wouldn't think it's actually visible to Zotero... But I don't really understand how these things work.

    *Edited to add-- by this I mean the call number that you're actually seeing on the web interface. See, for instance, a record in UCLA for a video, which doesn't use the Library of Congress classification system-- and thus there's no indication of the call number in the bib record visible in MARC view.
  • Thanks-- works much better with UCLA. That's helpful.

    I should note, I work in the Cambridge library, but I don't use Zotero to record books I've catalogued-- I just knew that the book I linked to wouldn't have any Library of Congress classification numbers in the record for various reasons (ie, they weren't there).

    (to explain a bit the call number for the cambridge book: 2011 is the year it was catalogued, 8 is the size, and 3939 is simply a running number. No subject classification at all)
  • no, Zotero is only parsing the MARC - the actual displays in different Voyager catalogs are too different to parse them in a stable way.
  • Ah, ok. Thanks. In that case, the Library of Congress call number from the 050 / 090 is probably all that will be possible.

    Thanks, and sorry for the diversion with the Cambridge catalogue-- it's one of the few that uses a local classification scheme that won't be in the Bib record.

  • For a bit of further information on the 090 / 050 etc fields and what the subfields mean, see here :

    As you can see from the list on the left, the variety of classification schemes do each have their own fields, but of course they're not all used. In Cambridge, we don't use the 098 or 099 fields, even if they do seem like they would be appropriate. But again, Cambridge is pretty unique in not using one of the classification schemes that won't be mentioned in the main bib record.

    Thanks for all your help.
  • It is still possible to write a Cambridge-specific site translator that gets your call numbers from the page text, and building off of the existing Voyager code. You may want to explore such an option if Zotero compatibility is a priority. Information on translator authoring here:
  • Thank you-- I will look at that over the weekend. Hopefully I can manage something.
Sign In or Register to comment.