An idea via dplyr,
library(dplyr) df %>% group_by(Date, Origin) %>% summarise_all(funs(trimws(paste(., collapse = ''))))
A tibble: 4 x 5
Groups: Date [?]
Date Origin Checkin Checkout Destination
<chr> <chr> <chr> <chr> <chr>
1 03-07-17 A 08:00 09:00 B
2 03-07-17 B 17:00 18:00 A
3 04-07-17 A 08:00 09:00 B
4 04-07-17 B 17:00 18:00 A
DATA
dput(df)
structure(list(Date = c(" 03-07-17 ", " 03-07-17 ", " 03-07-17 ",
" 03-07-17 ", " 04-07-17 ", " 04-07-17 ", " 04-07-17 ", " 04-07-17 "
), Checkin = c(" 08:00 ", " ", " 17:00 ", " ",
" 08:00 ", " ", " 17:00 ", " "), Origin = c(" A ",
" A ", " B ", " B ", " A ", " A ", " B ",
" B "), Checkout = c(" ", " 09:00 ", " ",
" 18:00 ", " ", " 09:00 ", " ", " 18:00 "
), Destination = c(" ", " B ", " ",
" A ", " ", " B ", " ",
" A ")), .Names = c("Date", "Checkin", "Origin", "Checkout",
"Destination"), row.names = c(NA, -8L), class = "data.frame")