package SIP::Map;

# Version number
$VERSION = 0.01;

use strict;

use constant MAP => {
  'other' => {
    media_type       => 'OTHER',
    security_inhibit => 'false',
    magnetic_media   => 'false',
  },
  'book' => {
    media_type       => 'BOOK',
    security_inhibit => 'false',
    magnetic_media   => 'false',
  },
  'journal' => {
    media_type       => 'BOUND_JOURNAL',
    security_inhibit => 'false',
    magnetic_media   => 'false',
  },
  'ebook' => {
    media_type       => 'EBOOK',    #'013',
    security_inhibit => 'false',
    magnetic_media   => 'false',
  },
  'artifact' => {
    media_type       => 'OTHER',
    security_inhibit => 'false',
    magnetic_media   => 'false',
  },
  'photoPoster' => {
    media_type       => 'OTHER',
    security_inhibit => 'false',
    magnetic_media   => 'false',
  },
  'musicCassette' => {
    media_type       => 'AUDIO_TAPE',
    security_inhibit => 'false',
    magnetic_media   => 'true',
  },
  'bookOnTape' => {
    media_type       => 'AUDIO_TAPE',
    security_inhibit => 'false',
    magnetic_media   => 'true',
  },
  'Videocassette' => {
    media_type       => 'AUDIO_TAPE',
    security_inhibit => 'false',
    magnetic_media   => 'true',
  },
  'movie' => {
    media_type       => 'DVD',     #'011',
    security_inhibit => 'false',
    magnetic_media   => 'false',
  },
  'libraryKit' => {
    media_type       => 'OTHER',
    security_inhibit => 'false',
    magnetic_media   => 'false',
  },
  'mixedMaterial' => {
    media_type       => 'OTHER',
    security_inhibit => 'false',
    magnetic_media   => 'true',
  },
  'map' => {
    media_type       => 'OTHER',
    security_inhibit => 'false',
    magnetic_media   => 'false',
  },
  'sheetMusic' => {
    media_type       => 'OTHER',
    security_inhibit => 'false',
    magnetic_media   => 'false',
  },
  'internet' => {
    media_type       => 'OTHER',
    security_inhibit => 'false',
    magnetic_media   => 'false',
  },
  'electronicMedia' => {
    media_type       => 'OTHER',
    security_inhibit => 'false',
    magnetic_media   => 'true',
  },
  'CDMusic' => {
    media_type       => 'CD',
    security_inhibit => 'false',
    magnetic_media   => 'false',
  },
  'compactDisc' => {
    media_type       => 'CD',
    security_inhibit => 'false',
    magnetic_media   => 'false',
  },
};

#
use constant ALERT_TYPE => {
  'undetermined'          => 'UNDETERMINED',
  'hold_for_this_library' => 'HOLD_FOR_THIS_LIBRARY',
  'hold_for_other_branch' => 'HOLD_FOR_OTHER_BRANCH',
  'hold_for_ill'          => 'HOLD_FOR_ILL',
  'send_to_other_branch'  => 'SEND_TO_OTHER_BRANCH',
  'other'                 => 'OTHER',
};

use constant PATRON_STATUS => (
  {
    status  => 'charged_privileges_denied',
    default => ' ',
  },
  {
    status  => 'renewal_privileges_denied',
    default => ' ',
  },
  {
    status  => 'recall_privileges_denied',
    default => ' ',
  },
  {
    status  => 'hold_privileges_denied',
    default => ' ',
  },
  {
    status  => 'card_reported_lost',
    default => ' ',
  },
  {
    status  => 'too_many_items_charged',
    default => ' ',
  },
  {
    status  => 'too_many_items_overdue',
    default => ' ',
  },
  {
    status  => 'too_many_renewals',
    default => ' ',
  },
  {
    status  => 'too_many_claims_of_items_returned',
    default => ' ',
  },
  {
    status  => 'too_many_items_lost',
    default => ' ',
  },
  {
    status  => 'excessive_outstanding_fines',
    default => ' ',
  },
  {
    status  => 'excessive_outstanding_fees',
    default => ' ',
  },
  {
    status  => 'recall_overdue',
    default => ' ',
  },
  {
    status  => 'too_many_items_billed',
    default => ' ',
  },
);

use constant LANGUAGE => {
  '000' => 'UNKNOWN',
  '001' => 'ENGLISH',
  '002' => 'FRENCH',
  '003' => 'GERMAN',
  '004' => 'ITALIAN',
  '005' => 'DUTCH',
  '006' => 'SWEDISH',
  '007' => 'FINNISH',
  '008' => 'SPANISH',
  '009' => 'DANISH',
  '010' => 'PORTUGUESE',
  '011' => 'CANADIAN_FRENCH',
  '012' => 'NORWEGIAN',
  '013' => 'HEBREW',
  '014' => 'JAPANESE',
  '015' => 'RUSSIAN',
  '016' => 'ARABIC',
  '017' => 'POLISH',
  '018' => 'GREEK',
  '019' => 'CHINESE',
  '020' => 'KOREAN',
  '021' => 'NORTH_AMERICAN_SPANISH',
  '022' => 'TAMIL',
  '023' => 'MALAY',
  '024' => 'UNITED_KINGDOM',
  '025' => 'ICELANDIC',
  '026' => 'BELGIAN',
  '027' => 'TAIWANESE',
};

use constant RENEWAL_STATUS_CODE => {
  '01' => 'OK',
  '02' => 'Item is on loan, but title is reserved',
  '03' => 'Renewal not allowed',
  '04' => 'Too many renewals',
  '05' => 'Invalid item',
  '06' => 'Item is not on loan',
  '07' => 'Item is on loan to other user',
};
1;
