offers viewmodel