I think the schedule below will work, all the partners are different and each player opposes all the others at least once, and at most twice. Hopefully you will be able to rearrange the order of the rounds so that the byes coincide with players who are not available in a particular week.
Time 1 Time 2 Time 3 Time 4 Byes
(14 13 v 4 19) ( 1 9 v 18 12) ( 3 5 v 8 16) ( 7 2 v 6 17) [10 11 20 15]
(15 14 v 5 20) ( 2 10 v 19 13) ( 4 1 v 9 17) ( 8 3 v 7 18) [ 6 12 16 11]
(11 15 v 1 16) ( 3 6 v 20 14) ( 5 2 v 10 18) ( 9 4 v 8 19) [ 7 13 17 12]
(12 11 v 2 17) ( 4 7 v 16 15) ( 1 3 v 6 19) (10 5 v 9 20) [ 8 14 18 13]
(13 12 v 3 18) ( 5 8 v 17 11) ( 2 4 v 7 20) ( 6 1 v 10 16) [ 9 15 19 14]
( 7 17 v 15 9) (18 2 v 4 14) (20 13 v 16 11) ( 1 12 v 10 8) [19 5 3 6]
( 8 18 v 11 10) (19 3 v 5 15) (16 14 v 17 12) ( 2 13 v 6 9) [20 1 4 7]
( 9 19 v 12 6) (20 4 v 1 11) (17 15 v 18 13) ( 3 14 v 7 10) [16 2 5 8]
(10 20 v 13 7) (16 5 v 2 12) (18 11 v 19 14) ( 4 15 v 8 6) [17 3 1 9]
( 6 16 v 14 8) (17 1 v 3 13) (19 12 v 20 15) ( 5 11 v 9 7) [18 4 2 10]
(14 11 v 10 9) (16 7 v 19 18) ( 5 12 v 13 4) ( 8 20 v 1 2) [15 3 6 17]
(15 12 v 6 10) (17 8 v 20 19) ( 1 13 v 14 5) ( 9 16 v 2 3) [11 4 7 18]
(11 13 v 7 6) (18 9 v 16 20) ( 2 14 v 15 1) (10 17 v 3 4) [12 5 8 19]
(12 14 v 8 7) (19 10 v 17 16) ( 3 15 v 11 2) ( 6 18 v 4 5) [13 1 9 20]
(13 15 v 9 8) (20 6 v 18 17) ( 4 11 v 12 3) ( 7 19 v 5 1) [14 2 10 16]