Faits: Faits: A. Dès le 20 octobre 1997, A._ est entrée au service de la banque Z._ AG à Genève. Après d'autres tâches, elle a assumé la fonction de responsable des relations avec la clientèle (client relationship manager) dans le département "Europe et Amériques". Son dernier salaire mensuel brut s'élevait à 7'984 fr.40. Dès mai 2001, elle a subi de nombreuses périodes d'incapacité de travail ou de travail à temps partiel pour cause de maladie. A. Dès le 20 octobre 1997, A._ est entrée au service de la banque Z._ AG à Genève. Après d'autres tâches, elle a assumé la fonction de responsable des relations avec la clientèle (client relationship manager) dans le département "Europe et Amériques". Son dernier salaire mensuel brut s'élevait à 7'984 fr.40. Dès mai 2001, elle a subi de nombreuses périodes d'incapacité de travail ou de travail à temps partiel pour cause de maladie. B. Par lettre du 29 avril 2002, faisant état d'une réorganisation de ses services, la banque a licencié sa collaboratrice avec effet au 30 juin 2002. Elle l'a immédiatement libérée de son obligation de travailler et elle l'a invitée à prendre son solde de vacances, soit dix-huit jours, avant cette dernière date. Le même jour, elle lui a remis le projet d'une convention destinée à un règlement amiable de la fin des rapports de travail. Le lendemain 30 avril, après avoir pris le conseil d'un avocat et obtenu une modification, la collaboratrice a souscrit cette convention qui comportait notamment les clauses ci-après: Le même jour, elle lui a remis le projet d'une convention destinée à un règlement amiable de la fin des rapports de travail. Le lendemain 30 avril, après avoir pris le conseil d'un avocat et obtenu une modification, la collaboratrice a souscrit cette convention qui comportait notamment les clauses ci-après: ... 4. Votre solde de vacances s'élèverait à ce jour à dix-huit jours au 30 juin 2002. Ces jours vous seront payés avec votre dernier salaire. 5. En raison de votre situation personnelle, nous vous allouons une indemnité de départ entièrement discrétionnaire de 31'938 fr.60 bruts (équivalente à quatre mois de votre salaire brut de 7'984 fr.40), pour autant que la fin de vos rapports de travail corresponde effectivement au 30 juin 2002 et que vous ayez respecté les engagements pris dans la présente. Cette indemnité vous sera versée dans le courant du mois de juillet 2002. 6. ... Le 26 juin 2002, A._ a fait parvenir à la banque un certificat médical attestant d'une incapacité totale de travailler. Par l'intermédiaire de son conseil, elle a fait valoir que le délai de congé était suspendu. Le salaire fut ainsi payé jusqu'au 30 septembre 2002, y compris le prorata du treizième salaire. L'incapacité de travail s'est prolongée au delà de cette date. Le 26 juin 2002, A._ a fait parvenir à la banque un certificat médical attestant d'une incapacité totale de travailler. Par l'intermédiaire de son conseil, elle a fait valoir que le délai de congé était suspendu. Le salaire fut ainsi payé jusqu'au 30 septembre 2002, y compris le prorata du treizième salaire. L'incapacité de travail s'est prolongée au delà de cette date. C. Le conseil de la banque s'est adressé le 22 octobre 2002 à celui de A._ afin de savoir si cette dernière s'estimait toujours liée par l'accord souscrit le 30 avril 2002. Cette interrogation reçut une réponse affirmative; l'ancienne collaboratrice réclamait d'ailleurs l'indemnité convenue. Par la suite, la banque Z._ AG a pris le nom de X._ SA. Par la suite, la banque Z._ AG a pris le nom de X._ SA. D. Le 23 juin 2003, A._ a ouvert action contre X._ SA devant la juridiction des prud'hommes du canton de Genève. Sa demande tendait au paiement de 31'937 fr.60 à titre d'indemnité de départ et de 4'790 fr. 65 pour paiement de dix-huit jours de vacances non prises, soit 36'728 fr.25 en tout. La défenderesse, contestant toute obligation, a conclu au rejet de la demande. Statuant par un jugement du 23 octobre 2003, le Tribunal des prud'hommes l'a condamnée à payer à la demanderesse un montant brut de 2'936 fr.80 pour huit jours de vacances non prises. Le tribunal a retenu que les parties n'étaient plus liées par l'accord du 30 avril 2002, de sorte que l'indemnité de départ n'était pas due. Quant aux vacances, compte tenu des démarches nécessaires à la recherche d'un nouvel emploi, la défenderesse ne pouvait pas exiger de la demanderesse qu'elle prît dix-huit jours de vacances, soit presque quatre semaines, durant son délai de congé de deux mois. Les vacances que cette dernière pouvait raisonnablement prendre étaient estimées à dix jours seulement, de sorte qu'il subsistait un solde de huit jours à indemniser en argent. La demanderesse ayant appelé du jugement, celui-ci fut confirmé par la Cour d'appel le 23 août 2004. La demanderesse ayant appelé du jugement, celui-ci fut confirmé par la Cour d'appel le 23 août 2004. E. Agissant par la voie du recours en réforme, la demanderesse requiert le Tribunal fédéral de modifier l'arrêt de la Cour d'appel en ce sens que sa demande soit entièrement admise. La défenderesse conclut au rejet du recours, dans la mesure où il est recevable.