This is freaking awesome. The UX/UI improvements of this are massive. Question regarding offline payments, I don't see a way of guaranteeing no double spend.
Are you taking the approach that trust between customer/provider is required in this scenario? IMO, that's a total valid point. The service provider would swap the tokens as soon as it can to guarantee full ownership, right?