diff --git a/doc/api/resources/checkinlists.rst b/doc/api/resources/checkinlists.rst index cd14caa2fb..6a4bc749e1 100644 --- a/doc/api/resources/checkinlists.rst +++ b/doc/api/resources/checkinlists.rst @@ -565,7 +565,10 @@ Order position endpoints Content-Type: application/json { - "status": "ok" + "status": "ok", + "position": { + … + } } **Example response with required questions**: @@ -576,7 +579,10 @@ Order position endpoints Content-Type: text/json { - "status": "incomplete" + "status": "incomplete", + "position": { + … + }, "questions": [ { "id": 1, @@ -621,6 +627,9 @@ Order position endpoints { "status": "error", "reason": "unpaid", + "position": { + … + } } Possible error reasons: diff --git a/src/pretix/api/views/checkin.py b/src/pretix/api/views/checkin.py index 73ca940277..b342742036 100644 --- a/src/pretix/api/views/checkin.py +++ b/src/pretix/api/views/checkin.py @@ -251,6 +251,8 @@ class CheckinListPositionViewSet(viewsets.ReadOnlyModelViewSet): except RequiredQuestionsError as e: return Response({ 'status': 'incomplete', + 'require_attention': op.item.checkin_attention or op.order.checkin_attention, + 'position': OrderPositionSerializer(op, context=self.get_serializer_context()).data, 'questions': [ QuestionSerializer(q).data for q in e.questions ] @@ -259,10 +261,14 @@ class CheckinListPositionViewSet(viewsets.ReadOnlyModelViewSet): return Response({ 'status': 'error', 'reason': e.code, + 'require_attention': op.item.checkin_attention or op.order.checkin_attention, + 'position': OrderPositionSerializer(op, context=self.get_serializer_context()).data }, status=400) else: return Response({ 'status': 'ok', + 'require_attention': op.item.checkin_attention or op.order.checkin_attention, + 'position': OrderPositionSerializer(op, context=self.get_serializer_context()).data }, status=201) def get_object(self):