John Swinney announced a £2 bus fare price cap on Tuesday, but transport operators are under no obligation to enforce it.