Jitsi reservation system conflict workflow

I am developing a reservation system for my Jitsi. I have the basic system working. I am trying to implement the workflow detailed here:

HTTP 409 - Conference already exists
This is to recover from previous Jicofo failure. If for some reason it was restarted and will try to create the room again this response informs Jicofo that the conference room exists already. It is expected to contain conflict_id in JSON response body:

{
‘conflict_id’: 364758328
}
Jicofo will use HTTP GET to fetch info about conflicting conference for given conflict_id. More infor about this request in “Reading conference info” section.

I start a meeting called “test”, it checks the reservation as follows:

http://192.168.1.6:8080/conference
POST DATA
name=test
start_time=2019-11-06T10:29:12.385Z
duration=-1
RETURNS Created
{"id":12345,"name":"test","mail_owner":"nikki@test.com","start_time":"2019-11-06T10:00:00.000Z","duration":3600}

It goes ahead. I then stop and restart my whole jitsi docker-compose system.

The meeting is open in my browser, so it tries to restart. It makes the following calls:

http://192.168.1.6:8080/conference
POST DATA
name=test
start_time=2019-11-06T10:30:06.666Z
duration=-1
RETURNS Conflict
{"conflict_id":12345}

http://192.168.1.6:8080/conference/12345
RETURNS OK
{"id":12345,"name":"test","mail_owner":"nikki@test.com","start_time":"2019-11-06T10:00:00.000Z","duration":3600}

http://192.168.1.6:8080/conference
POST DATA
name=test
start_time=2019-11-06T10:30:08.723Z
duration=-1
RETURNS Conflict
{"conflict_id":12345}

192.168.1.56 :http://192.168.1.6:8080/conference/12345:4 ms:(localhost) 
RETURNS OK
{"id":12345,"name":"test","mail_owner":"nikki@test.com","start_time":"2019-11-06T10:00:00.000Z","duration":3600}

Checking the logs, I find:

jicofo_1   | Jicofo 2019-11-06 10:30:08.749 WARNING: [60] org.jitsi.jicofo.xmpp.FocusComponent.processIQ() (serving component 'Jitsi Meet Focus') Unexpected exception while processing IQ stanza: <iq id="21ee133f-730d-4cb5-848c-260b356ba5e0:sendIQ" to="focus.meet.jitsi" from="l1xfmla6bhaefbpk@meet.jitsi/Y92ZV-aY" type="set"><conference xmlns="http://jitsi.org/protocol/focus" machine-uid="f09fa9ecb55d1ae669135e59d161fc1a" room="test@muc.meet.jitsi"><property name="channelLastN" value="-1"/><property name="disableRtx" value="false"/><property name="enableLipSync" value="true"/><property name="openSctp" value="true"/></conference></iq>
jicofo_1   | java.lang.NullPointerException
jicofo_1   |    at org.jitsi.impl.reservation.rest.json.ConferenceJsonHandler.primitive(ConferenceJsonHandler.java:116)
jicofo_1   |    at org.json.simple.parser.JSONParser.parse(JSONParser.java:428)
jicofo_1   |    at org.json.simple.parser.JSONParser.parse(JSONParser.java:312)
jicofo_1   |    at org.jitsi.impl.reservation.rest.ApiHandler.readConferenceResponse(ApiHandler.java:304)
jicofo_1   |    at org.jitsi.impl.reservation.rest.ApiHandler.getConference(ApiHandler.java:189)
jicofo_1   |    at org.jitsi.impl.reservation.rest.RESTReservations.createConference(RESTReservations.java:164)
jicofo_1   |    at org.jitsi.jicofo.xmpp.FocusComponent.processExtensions(FocusComponent.java:379)
jicofo_1   |    at org.jitsi.jicofo.xmpp.FocusComponent.handleConferenceIq(FocusComponent.java:414)
jicofo_1   |    at org.jitsi.jicofo.xmpp.FocusComponent.handleIQSetImpl(FocusComponent.java:259)
jicofo_1   |    at org.jitsi.xmpp.component.ComponentBase.handleIQSet(ComponentBase.java:362)
jicofo_1   |    at org.xmpp.component.AbstractComponent.processIQRequest(AbstractComponent.java:515)
jicofo_1   |    at org.xmpp.component.AbstractComponent.processIQ(AbstractComponent.java:289)
jicofo_1   |    at org.xmpp.component.AbstractComponent.processQueuedPacket(AbstractComponent.java:239)
jicofo_1   |    at org.xmpp.component.AbstractComponent.access$100(AbstractComponent.java:81)
jicofo_1   |    at org.xmpp.component.AbstractComponent$PacketProcessor.run(AbstractComponent.java:1051)
jicofo_1   |    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
jicofo_1   |    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
jicofo_1   |    at java.lang.Thread.run(Thread.java:748)
jicofo_1   | Jicofo 2019-11-06 10:30:15.671 INFO: [28] org.jitsi.jicofo.ComponentsDiscovery.log() New component discover

I am clearly not understanding this workflow - what am I doing wrong?