diff --git a/rero_ils/config.py b/rero_ils/config.py
index be1e843502..038e30dd89 100644
--- a/rero_ils/config.py
+++ b/rero_ils/config.py
@@ -1897,6 +1897,7 @@ def _(x):
'collections',
'contributions',
'documents',
+ 'holdings',
'items',
'item_types',
'ill_requests',
@@ -1961,6 +1962,15 @@ def _(x):
RECORDS_REST_DEFAULT_SORT['circ_policies'] = dict(
query='bestmatch', noquery='name')
+# ------ HOLDINGS SORT
+RECORDS_REST_SORT_OPTIONS['holdings']['library_location'] = dict(
+ fields=['library.pid', 'location.pid'],
+ title='Holdings library location sort',
+ default_order='asc'
+)
+RECORDS_REST_DEFAULT_SORT['holdings'] = dict(
+ query='bestmatch', noquery='library_location')
+
# ------ ITEM TYPES SORT
RECORDS_REST_SORT_OPTIONS['item_types']['name'] = dict(
fields=['item_type_name'], title='Item type name',
diff --git a/rero_ils/modules/documents/templates/rero_ils/_anonymous_button.html b/rero_ils/modules/documents/templates/rero_ils/_anonymous_button.html
new file mode 100644
index 0000000000..01f2461ecb
--- /dev/null
+++ b/rero_ils/modules/documents/templates/rero_ils/_anonymous_button.html
@@ -0,0 +1,27 @@
+{# -*- coding: utf-8 -*-
+
+ RERO ILS
+ Copyright (C) 2020 RERO
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, version 3 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+
+#}
+{%- if current_user.is_anonymous %}
+
+ {{ _('Log in (to see request options)') }}
+
+{%- endif %}
diff --git a/rero_ils/modules/documents/templates/rero_ils/_document_online.html b/rero_ils/modules/documents/templates/rero_ils/_document_online.html
new file mode 100644
index 0000000000..6b460516f3
--- /dev/null
+++ b/rero_ils/modules/documents/templates/rero_ils/_document_online.html
@@ -0,0 +1,60 @@
+{# -*- coding: utf-8 -*-
+
+ RERO ILS
+ Copyright (C) 2019 RERO
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, version 3 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+
+#}
+{% if accesses|length > 0 %}
+
+ {% with class = 'offset-1' %}
+ {% include('rero_ils/_request_button.html') %}
+ {% endwith %}
{%- endfor %}
{%- endif %}
diff --git a/rero_ils/modules/documents/templates/rero_ils/_documents_get_book.html b/rero_ils/modules/documents/templates/rero_ils/_documents_get_book.html
new file mode 100644
index 0000000000..bbd1497ad7
--- /dev/null
+++ b/rero_ils/modules/documents/templates/rero_ils/_documents_get_book.html
@@ -0,0 +1,84 @@
+{# -*- coding: utf-8 -*-
+
+ RERO ILS
+ Copyright (C) 2020 RERO
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, version 3 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+
+#}
+
+{%- if holdings %}
+
+
+{% include 'rero_ils/_anonymous_button.html' %}
+
+
+{%- for holding in holdings %}
+{% set items = holding.get_items | sort(attribute='enumerationAndChronology', reverse=True) %}
+ {%- for item in items %}
+
+{%- endif %}
diff --git a/rero_ils/modules/documents/templates/rero_ils/_request_button.html b/rero_ils/modules/documents/templates/rero_ils/_request_button.html
new file mode 100644
index 0000000000..0bf1a5fea9
--- /dev/null
+++ b/rero_ils/modules/documents/templates/rero_ils/_request_button.html
@@ -0,0 +1,70 @@
+{# -*- coding: utf-8 -*-
+
+ RERO ILS
+ Copyright (C) 2020 RERO
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Affero General Public License as published by
+ the Free Software Foundation, version 3 of the License.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see .
+
+#}
+
+{%- if item|item_and_patron_in_same_organisation %}
+ {%- set can_request, reasons = item|can_request %}
+ {%- set locations = item|item_library_pickup_locations %}
+ {%- if can_request and locations %}
+