, done: bool} * * @since 0.1.0 */ public function erase( string $email_address, int $page = 1 ): array { unset( $page ); $now = $this->clock->now(); $removed = false; $retained = false; $messages = []; foreach ( $this->intents->find_by_draft_email( $email_address ) as $intent ) { $status = $intent->status(); if ( OrderIntentStatus::Open !== $status && OrderIntentStatus::Abandoned !== $status ) { $retained = true; $messages[] = __( 'A converted or in-progress booking draft was retained.', 'buildler' ); continue; } $intent->erase_personal_draft( $now ); $this->intents->save( $intent ); $removed = true; } if ( $removed ) { $messages[] = __( 'Bookline booking draft personal data erased.', 'buildler' ); } return [ 'items_removed' => $removed, 'items_retained' => $retained, 'messages' => $messages, 'done' => true, ]; } }